Michael Schumacher cut Fernando Alonso's championship lead to just two points by winning the Italian Grand Prix and then announced his retirement.
Schumacher was thrilled with his victory at Monza
The Ferrari driver, who will stand down at the end of the seaon, took the lead when pole-sitter Kimi Raikkonen's McLaren made an early first pit stop.
Renault's Alonso battled from 10th on the grid to a superb third only for his engine to fail with nine laps to go.
Raikkonen was second ahead of BMW Sauber's impressive Robert Kubica.
Schumacher was given a rapturous reception from the Italian fans as he took the chequered flag eight seconds clear of Raikkonen, who will replace him at Ferrari next season.
The German's 90th career win was timely, lifting him to two points behind Alonso in the drivers' standings and putting Ferrari three points clear of Renault in the constructors' race.
"I was hoping that Kimi would stop earlier than us, he did and that was enough for us to get by," said Schumacher.
"We have taken a big step towards the championship and I'm looking forward to the rest of the season.
"It is difficult to say I will be more focused now that I'm retiring because I am only ever focused on one thing when I'm in the car.
"I want to concentrate on the last three races and finish it in style."
Schumacher had clearly the fastest car in the race, but he was forced to sit just behind Raikkonen for the first 15 laps after making an average start.
The German had come under pressure from Nick Heidfeld's BMW Sauber away from the grid and briefly lost second place, only to reclaim it as the two cars went through the first chicane.
Alonso's challenge goes up in smoke after a battling drive
Behind them, Kubica made an electrifying start from sixth on the grid to slot into fourth, passing Heidfeld for third further around the first lap.
The 21-year-old Pole took his first podium in just his third Grand Prix and showed just why BMW Sauber put their faith in him.
Kubica remained modest after the race, saying: "I'm really surprised to finish third.
"We had good tyres and I knew we were competitive but it was tough because I had to fight with Alonso and Massa."
Alonso had a strong start to the race as he sought to limit the damage for being controversially penalised for supposedly blocking Ferrari's Felipe Massa in qualifying.
The world champion was up to seventh at the end of the lap, and passed Heidfeld for sixth at the start of the second lap.
But there his progress stalled as he came up behind Jenson Button's Honda, which held him off until the first pit stops.
The Renault made a stop one lap earlier than Button on lap 19 and comfortably made it out ahead of the Englishman.
One percent of the people will be happy, the people who decided the race yesterday - I hope they sleep well
Alonso started to close in on Massa, who was trying to pass Kubica for third, and the Renault moved on to the tail of the two men by the time of their final stops.
Massa made his stop on lap 39, two laps before Alonso, who came in on the same lap as Kubica.
Alonso and Renault were able to leapfrog both men, putting them on course to limit the damage to their title hopes as much as they could have hoped going into the race.
But then his engine failed in a cloud of smoke, setting up a nail-biting championship climax in the final three races.
"I had to push the engine more than normal to move up from 10th and sometimes these things happen," said Alonso.
"We were quicker in Hungary, in front in Turkey and we should have won here with the tyres we had.
"One per cent of the people will be happy, the people who decided the race yesterday. I hope they sleep well."
Massa lost fourth place when he was forced to pit after locking his tyres in the confusion that followed Alonso's engine failure.
That put Renault's Giancarlo Fisichella into fourth place, ahead of Honda drivers Jenson Button and Rubens Barrichello, Toyota's Jarno Trulli and Heidfeld, with Massa ninth and out of the points.
Results from the Italian Grand Prix in Monza:
1. Michael Schumacher (Ger) Ferrari one hour 14 minutes 51.975 seconds
2. Kimi Raikkonen (Fin) McLaren-Mercedes +8.046 seconds
3. Robert Kubica (Pol) BMW Sauber +26.414
4. Giancarlo Fisichella (Ita) Renault 32.045
5. Jenson Button (GB) Honda +32.685
6. Rubens Barrichello (Brz) Honda +42.409
7. Jarno Trulli (Ita) Toyota +44.662
8. Nick Heidfeld (Ger) BMW Sauber +45.309
9. Felipe Massa (Brz) Ferrari +45.955
10. Mark Webber (Aus) Williams-Cosworth +1:12.602
11. Christian Klien (Aut) RedBull-Ferrari 1 lap behind
12. David Coulthard (GB) RedBull-Ferrari 1 lap
13. Scott Speed (US) Toro Rosso-Cosworth 1 lap
14. Vitantonio Liuzzi (Ita Toro Rosso-Cosworth 1 lap
15. Ralf Schumacher (Ger) Toyota 1 lap
16. Takuma Sato (Jpn) Super Aguri-Honda 2 laps
17. Christijan Albers (Ned) MF1-Toyota 2 laps
R Tiago Monteiro (Por) MF1-Toyota 44 laps completed
R Fernando Alonso (Spa) Renault 43 laps
R Pedro de la Rosa (Spa) McLaren-Mercedes 20 laps
R Sakon Yamamoto (Jpn) Super Aguri-Honda 18 laps
R Nico Rosberg (Germany) Williams-Cosworth nine laps
R = retired