Vettel lapped half the field, including Raikkonen, before reaching the halfway point of the race and only five cars finished on the lead lap at a Montreal street circuit bathed in sunshine after two days of rain.
“The sun came out as well so it doesn’t get any better,” Vettel said. “We had good races here before, but it didn’t come together to win, then I lost it in the last lap two years ago which was my fault but I made up for that today.”
McLaren failed to score at a track 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.