Lewis Hamilton ended Sebastian Vettel's winning streak in Formula One with a superb battling victory in a breathless Chinese Grand Prix.

The McLaren driver started third on the grid in Shanghai and had to battle past team-mate Jenson Button before finally overhauling Vettel for the lead with just four laps remaining. In the end it proved as much a tactical victory for Hamilton as it was one of power and nerve, his three stops to Vettel's two proving the way to go on the notoriously low-wearing Pirelli tyres.

Vettel held on to take second place while his Red Bull team-mate Mark Webber compiled a stunning drive from 18th to snatch the final place on the podium from the second McLaren of Jenson Button.

The result saw Vettel denied a third win in a row at the start of the new season, and a fifth dating back to last year.

For a delighted and emotional Hamilton, it was a first victory since last August's Belgian Grand Prix and a result which moved him into second place in the drivers' standings.

"That was amazing, thanks so much," Hamilton told his McLaren colleagues over the team radio.

The 15th victory of his F1 career takes Hamilton on to 47 points, 21 behind Vettel, while Button (38) is down to third place and Webber (37) fourth.