On a humid afternoon full of drama, with McLaren deprived of a likely one-two by the exclusion of Colombian Juan Pablo Montoya [ Images ], the Formula One title race was blasted wide open by Spaniard Alonso's first retirement of the year.
Raikkonen's third win in four races left him 22 points adrift of the 23-year-old Renault driver with 11 races remaining.
Ferrari's [ Images ] seven times world champion Michael Schumacher [ Images ], winner a record seven times in the past in Canada [ Images ], took second place with Brazilian team mate Rubens Barrichello [ Images ] third in the struggling champions' best race of the year so far.
There was cruel luck for BAR after Jenson Button [ Images ] sent their hopes soaring with pole position.
The Briton retired after hitting the wall on the final corner before the pit straight on lap 48, an accident that briefly brought out the safety car.
Briton David Coulthard [ Images ] seized two points for Red Bull with Austrian team mate Christian Klien taking another in eighth place on his return after four races as reserve.
The big losers were Renault, whose drivers made a storming start from the second row, Italian Giancarlo Fisichella [ Images ] whistling past Schumacher and Button on one side while Alonso punched through on the other.
Suspicions that the two front row cars had qualified light on fuel proved well-founded, with Schumacher the first to pit at the end of lap 12 and Button coming in three laps later.
With them out of the way, the race turned into a duel between the championship leaders and closest rivals McLaren before fate ripped up the script.
Fischella's run of bad luck struck again after he had been in front for almost half the race.
He retired on lap 33, slowing as Alonso sped past and cruising back to the pits. Bitterly disappointed, he got out of the car and tossed his gloves to the floor.
Alonso's lead lasted six laps before he too retired.
Renault team boss Flavio Briatore was philosophical about the double blow.
"It's Formula One, one bad day it happens, it happens to somebody else, it happens to us, it's part of the game," said the Italian.
"What is very important is that the car was very competitive, both drivers were very competitive...we have plenty of time to recover from this drama."
With Raikkonen leading Montoya, the Colombian wrecked his race by leaving the pit lane under a red light. Stewards promptly excluded him.
Canadian Jacques Villeneuve, who had earned rare praise from team boss Peter Sauber after he qualified eighth, had another afternoon to forget.
The 1997 world champion, racing before his home crowd at a circuit named after his father, pitted for a new front wing on the second lap and rejoined the race in last place. He eventually finished ninth.