The Briton is a magnificent seventh winner

McLaren's Lewis Hamilton stormed to a Canadian Grand Prix victory on Sunday to become a magnificent seventh winner in seven Formula One races this season and seize the championship lead.

The Briton had to mount a ferocious charge after his second pit stop, banging in a series of fastest laps to reel in Red Bull's reigning world champion Sebastian Vettel and Ferrari's Fernando Alonso.

Frenchman Romain Grosjean was second in a Lotus, a career best, with Mexican Sergio Perez third in a Sauber after overtaking Alonso — a driver he may end up partnering next season if he continues to impress.

It was Hamilton's third win in Montreal, an island circuit where he took his first Grand Prix triumph in 2007, in five attempts.

The 2008 champion, who also stood on top of the podium in Canada in 2010, had his most worrying moments in the two pit stops — McLaren's weak point this season — but on the track he was unstoppable.

“What a great feeling, this is where I won my first Grand Prix and I knew today would be a tough, tough race but I loved every single minute of it,” said Hamilton, who now has 88 points to Alonso's 86 and Vettel's 85.

Brandishing the British flag as he stepped out of the car after a gripping finale, he hugged his mechanics while girlfriend Nicole Scherzinger kissed his visor.

Vettel fourth

Vettel had started from pole, just like last year, and led the early part of the 70 lap race but lost pace over the final laps to finish fourth in a Grand Prix that his Red Bull team has yet to win.

The German was fortunate to get to the chequered flag after skimming the wall three laps from the end.

Spaniard Alonso, bidding to give resurgent Ferrari a victory on the 30th anniversary of the tragic death of former-Ferrari great Gilles Villeneuve but struggling on worn tyres at the finish, had to settle for fifth.

The race began under brilliant blue skies and threats by student protesters to disrupt the Grand Prix but heavy security at all entrance points to the island circuit made sure the race unfolded without incident.

On the track the race was also run without any major incidents, the safety car remaining parked — a rarity for Montreal — while the red flag was never waved.

Much of the 70 lap race was an enthralling battle between three world champions, Vettel, Alonso and Hamilton who all had turns at the front.

Vettel led from the start and remained in the lead until the first pit stops rejoining behind Alonso and Hamilton.

Hamilton pushed his way into the lead fighting off challenges from Red Bull and Ferrari until making his second pit stop while Alonso and Vettel continued despite McLaren assuring Hamilton that it would have to come in.

Second win

But with its tyres failing and pace slipping, Hamilton obeyed his team's instructions to ‘give it everything' and reeled it in to give McLaren its second win of the campaign after Jenson Button's victory in Australia.

Button, who last year surged past Vettel on the final lap to claim a dramatic victory in a rain-hit race, was not a factor and finished 16th, baffled with his car's lack of pace.

Hamilton was joined on the podium by two youngsters both making their second appearances in the top three in this most unpredictable of seasons.

Grosjean, who rated the Gilles Villeneuve circuit his favourite after learning it with a video game, gave Lotus its fourth top three finish of the season.

“Starting 15th the last thing you would think about is to end up on the podium,” said Perez, who had a second in Malaysia. “We went quite aggressive, the stops were very good and I managed to take over some cars with some difficult moves.

“It is the second time we get in the (podium) points and hopefully we can keep going.”

Germany's Nico Rosberg was sixth, while his teammate Michael Schumacher had another miserable afternoon and retired with a rear wing failure.

The results: 1. Lewis Hamilton (McLaren) 1hr 32min 29.586sec; 2. Romain Grosjean (Lotus) +2.5s; 3. Sergio Perez (Sauber) 5.2; 4. Sebastian Vettel (Red Bull) 7.2; 5. Fernando Alonso (Ferrari) 13.4; 6. Nico Rosberg (Mercedes) 13.8; 7. Mark Webber (Red Bull) 15.0; 8. Kimi Raikkonen (Lotus) 15.5; 9. Kamui Kobayashi (Sauber) 24.4, 10. Felipe Massa (Ferrari) 25.2, 11. Paul di Resta (Force India) 37.6, 12. Nico Hulkenberg (Force India) 46.2, 13. Pastor Maldonado (Williams) 47.0, 14. Daniel Ricciardo (Toro Rosso) 1:04.4, 15. Jean-Eric Vergne (Toro Rosso) 1 lap, 16. Jenson Button (McLaren) 1 lap, 17. Bruno Senna (Williams) 1 lap, 18. Heikki Kovalainen (Caterham) 1 lap, 19. Vitaly Petrov (Caterham) 1 lap, 20. Charles Pic (Marussia) 3 laps.

Standings: Drivers: 1. Lewis Hamilton 88 pts., 2. Fernando Alonso 86, 3. Sebastian Vettel 85, 4. Mark Webber 79, 5. Nico Rosberg 67, 6. Kimi Raikkonen 55, 7. Romain Grosjean 53, 8. Jenson Button 45, 9. Sergio Perez 37, 10. Pastor Maldonado 29, 11. Kamui Kobayashi 21, 12. Paul di Resta 21, 13. Bruno Senna 15, 14. Felipe Massa 11, 15. Nico Hulkenberg 7, 16. Jean-Eric Vergne 4, 17. Daniel Ricciardo 2, 18. Michael Schumacher 2.

Constructors: 1. Red Bull 164 pts, 2. McLaren 133, 3. Lotus 108, 4. Ferrari 97, 5. Mercedes 69, 6. Sauber 58, 7. Williams 44, 8. Force India 28, 9. Toro Rosso 6.

More In: Motorsport | Sport