Kimi Raikkonen took his third consecutive victory at the Belgian Grand Prix, comfortably edging away from teammate Felipe Massa in a Ferrari one-two.
The McLarens were no match for the Ferraris and had to settle for third and fourth, with Fernando Alonso finishing ahead of Lewis Hamilton and narrowing the rookie's championship lead to just two points with three rounds remaining.
The result meant that, pending McLaren's decision to appeal their penalty, Ferrari are constructors' champions.
Massa had briefly challenged Raikkonen on the outside at the start, before settling into second place.
Just behind, the McLarens were also wheel to wheel into La Source. Alonso edged Hamilton onto the extended run-off area, but the Briton found excellent traction and accelerated back on track level with his teammate.
They then ran side by side into Eau Rouge, with Alonso holding on around the outside at the first part of the corner before claiming third as the track turned right.
Raikkonen proceeded to dominate the race, easily establishing a four second lead over Massa and maintaining it to the flag.
The McLarens ran longer stints, but simply lacked the pace to get on terms with the leaders, and fell 20 seconds adrift in the middle stint.
Hamilton went four laps further on his second fuel load in a bid to vault ahead of Alonso, but the Spaniard found more speed on his fresh tyres than his teammate could muster from his very light car, and Hamilton rejoined six seconds behind him.
He pushed hard to close the gap, even going off the road briefly at Pouhon, but had to settle for fourth.
The result means that Hamilton is now two points ahead of Alonso, with Raikkonen closing to within 13 points of the leader.
Nick Heidfeld lost ground running wide at La Source on the first lap, but jumped ahead of Nico Rosberg and Mark Webber in the first stops and then pulled away from them to secure fifth. Rosberg also edged away from Webber and finished sixth.
Renault's Heikki Kovalainen used a one-stop strategy to fend off the charging Robert Kubica for the final point. After his engine change penalty in qualifying, Kubica made good progress in the opening laps but lost time behind the one stopping cars in the middle stages.
The two-stopping Jarno Trulli again lost ground at the start and consequently spent the race in traffic. That meant he finished behind his one-stopping Toyota teammate Ralf Schumacher in 11th. Toro Rosso's Vitantonio Liuzzi took 12th.
The star of the largely uneventful race was Spyker's Adrian Sutil, who used a relatively light fuel load to charge through the field to 12th in the opening laps. He ultimately finished 14th, right behind Honda's Rubens Barrichello.
Jenson Button retired the second Honda with hydraulic problems, the same failure that also eliminated Red Bull's David Coulthard.
Alex Wurz also dropped out after a messy race that saw him spin at the Bus Stop and then fall to last - behind Sakon Yamamoto - when he ran across the grass at Les Combes.
The race hardly even got going for Giancarlo Fisichella, who retired with a suspension problem on the opening lap.
PROVISIONAL RACE RESULTS
The Belgian Grand Prix
44 laps; 308.176km;
Pos Driver Team Time
1. Raikkonen Ferrari (B) 1h20:39.066
2. Massa Ferrari (B) + 4.695
3. Alonso McLaren-Mercedes (B) + 14.343
4. Hamilton McLaren-Mercedes (B) + 23.615
5. Heidfeld BMW Sauber (B) + 51.879
6. Rosberg Williams-Toyota (B) + 1:16.876
7. Webber Red Bull-Renault (B) + 1:20.639
8. Kovalainen Renault (B) + 1:25.106
9. Kubica BMW Sauber (B) + 1:25.661
10. R.Schumacher Toyota (B) + 1:28.558
11. Trulli Toyota (B) + 1:43.633
12. Liuzzi Toro Rosso-Ferrari (B) + 1 lap
13. Barrichello Honda (B) + 1 lap
14. Sutil Spyker-Ferrari (B) + 1 lap
15. Sato Super Aguri-Honda (B) + 1 lap
16. Davidson Super Aguri-Honda (B) + 1 lap
17. Yamamoto Spyker-Ferrari (B) + 1 lap
Fastest lap: Massa, 1:48.036
Driver Team On lap
Button Honda (B) 37
Wurz Williams-Toyota (B) 35
Coulthard Red Bull-Renault (B) 30
Vettel Toro Rosso-Ferrari (B) 9
Fisichella Renault (B) 2
World Championship standings, round 14:
1. Hamilton 97 1. Ferrari 161
2. Alonso 95 2. BMW Sauber 90
3. Raikkonen 84 3. Renault 39
4. Massa 77 4. Williams-Toyota 28
5. Heidfeld 56 5. Red Bull-Renault 18
6. Kubica 33 6. Toyota 12
7. Kovalainen 22 7. Super Aguri-Honda 4
8. Fisichella 17 8. Honda 2
9. Rosberg 15
10. Wurz 13
11. Webber 10
12. Coulthard 8
13. Trulli 7
14. R.Schumacher 5
15. Sato 4
16. Button 2
17. Vettel 1
All timing unofficial