The Spaniard, now with a commanding 32 point lead in the Formula One standings, had been catching Raikkonen as the Finn tried to nurse his ailing McLaren [ Images ] through the last few laps of the race to what would have been a third win in a row.
Instead it was Alonso who celebrated his fourth win in seven races with Raikkonen, his tyres worn out, spinning off when the suspension suddenly shattered.
"I was happy with the second place but we were so quick and pushing McLaren and Kimi all the way and they eventually had a tyre failure," said Alonso."We were very lucky today but also very quick."
It was the second time in two races that Heidfeld, who started on pole for the first time in front of his home crowd, had finished as runner-up.
Briton David Coulthard [ Images ] finished fourth for Red Bull despite a drive-through penalty for speeding in the pitlane while Ferrari's seven-times world champion Michael Schumacher [ Images ] finished fifth after running 14th early in the race.
Alonso has 59 points to Raikkonen and Trulli's 27. Renault stretched their lead in the constructors' standings and have 76 points to McLaren's 53 with Toyota on 44.
Alonso had been confident, despite starting from sixth on the grid, because of his strategy of carrying a heavy fuel load in Saturday's qualifying.
The race was delayed when Fisichella stalled on the grid and had to be pushed to the pitlane for the re-start.
Strategies were then hurriedly re-thought after a pile up at the first corner, caused by Australian Mark Webber [ Images ] barging into McLaren's Juan Pablo Montoya.
The Williams driver's race was finished by the incident and in the resulting chaos Toyota's Ralf Schumacher hit Alonso's Renault.
"I nearly finished my race in the first corner, I don't know who pushed me in the back," said the Spaniard.
He survived the scare, and another when he left the track before his second pit stop, to settle in behind Raikkonen and ready to take advantage when the Finn's tyre problems caused him to slow.
1. Fernando Alonso (Spain) Renault 1:31:46.648
2. Nick Heidfeld (Germany) Williams
3. Rubens Barrichello (Brazil [ Images ]) Ferrari
4. David Coulthard (Britain) Red Bull
5. Michael Schumacher (Germany) Ferrari
6. Giancarlo Fisichella (Italy [ Images ]) Renault
7. Juan Pablo Montoya (Colombia) McLaren
8. Jarno Trulli (Italy) Toyota
9. Vitantonio Liuzzi (Italy) Red Bull
10. Jenson Button (Britain) BAR
11r. Kimi Raikkonen (Finland) McLaren 1 lap
12. Takuma Sato (Japan [ Images ]) BAR 1 lap
13. Jacques Villeneuve (Canada [ Images ]) Sauber 1 lap
14. Felipe Massa [ Images ] (Brazil) Sauber 1 lap
15. Tiago Monteiro (Portugal) Jordan 1 lap
16. Narain Karthikeyan [ Images ] (India [ Images ]) Jordan 1 lap
17. Christijan Albers (Netherlands) Minardi 2 laps
18. Patrick Friesacher (Austria) Minardi 3 laps
r. Ralf Schumacher (Germany) Toyota 26 laps
r. Mark Webber (Australia [ Images ]) Williams 59 laps