Red Bull's triple world champion Sebastian Vettel won the Canadian Grand Prix on Sunday to capture his first Formula One victory on North American soil and extend his overall lead to 36 points.
The 25-year-old German cruised to his 29th career win without resistance, taking the chequered flag 14.4 seconds clear of Spain's Fernando Alonso, driving a Ferrari.
Briton's Lewis Hamilton, who had won in Montreal three times before, made it a podium of champions by finishing third for Mercedes after being passed by Alonso in the closing laps.
Vettel's Australian team mate Mark Webber was fourth and Germany's Nico Rosberg, winner of the previous race in Monaco for Mercedes, fifth.
Raikkonen, the 2007 champion, finished ninth in his Lotus to equal Michael Schumacher's record of 24 successive Grands Prix in the points.
Despite his domination of the sport in recent years, Vettel had never won in either Canada or the United States before breaking his drought in emphatic fashion on Sunday - even if he skimmed the wall at one point.
He made a clean getaway from pole position and led for almost the entire 70-laps. The only time he was not in front was a brief period when he made the first of his two pit stops to get fresh tyres.
Vettel lapped half the field, including Raikkonen, before reaching the half way point of the race and only five cars finished on the same lap as him when he crossed the line.
McLaren failed to score, at a circuit where they have won four times in the last five years, for the first time in 65 races.
Former champions Williams also ended up empty-handed, despite Finnish rookie Valtteri Bottas starting third on the grid, for the eighth race in a row.
Vettel now has 132 points, ahead of Alonso (96), Raikkonen (88), Hamilton (77) and Webber (69).
Photograph: Paul Gilham/Getty Images
Vettel ends Mercedes run with Canada pole
Sutil finishes 5th, Di Resta 9th in Monaco
F1: Rosberg emulates dad as he makes merry at Monaco GP
Raikkonen brands Perez an idiot for overtaking move
Raikkonen closes in on F1 record scoring run