McLaren's Lewis Hamilton was stripped of victory in a thrilling Belgian Grand Prix after stewards decided he had gained an advantage by cutting a chicane during a last-gasp duel with Kimi Raikkonen.
Hamilton was given a 25-second time penalty by race officials which saw him demoted to third and victory handed to second-placed Felipe Massa, allowing the Ferrari driver to cut the Briton's lead in the championship to just two points.
Brazilian Massa crossed the line second but won the maximum 10 points ahead of Germany's Nick Heidfeld, the BMW-Sauber driver promoted to second. Hamilton won six points to move to 76 in the championship to Massa's 74.
World champion Raikkonen had led until rain began to fall and Hamilton, the 23-year-old championship leader who had started on pole position, reeled in the Ferrari and powered past on the penultimate lap.
The action did not stop there, with the desperate Raikkonen fighting back to retake the lead before losing control on the slippery surface and smashing into a wall while Hamilton went wide over the grass.
The two rivals had already banged bodywork, skidded and narrowly avoided other cars before stewards decided that Hamilton's late maneouvre had broken the rulebook.
"It was an experience and a half," said Hamilton before the stewards gave their verdict. "It was just mix and match. I was just praying for rain. I wanted it to come because I knew how to deal with it.
"It was one of the most exciting races of my career. I love having battles."
It was a stunning turnaround to an afternoon that, until two laps from the end, looked sure to revive Raikkonen's championship hopes with a fourth Belgian Grand Prix win in succession.
Starting in fourth place, the Finn made a determined move on Massa after running wide at the tight first corner.
The two Ferraris ran side by side up the hill through Eau Rouge before Raikkonen, whose engine had blown in the previous race in Valencia, scythed past and took the chase to Hamilton.
Hamilton then locked his right front tyre and spun at La Source at the start of the second lap, with Raikkonen seizing the advantage.
Renault's double world champion Fernando Alonso was fourth with Germany's Sebastian Vettel fifth for Toro Rosso.
Poland's Robert Kubica was sixth, a result that elevated him to third in the championship with 58 points, with France's Sebastien Bourdais considerably enhancing his prospects of staying at Toro Rosso next season with seventh.
Mark Webber of Australia took the final point for Red Bull after Germany's Timo Glock also picked up a 25-second penalty.
McLaren's Heikki Kovalainen, who had started in third place, missed out in 10th place after capping a string of errors with a drive-through penalty.