McLaren's Kimi Raikkonen revived his world title hopes with an impressive victory at the Hungarian Grand Prix.
HUNGARIAN GP RESULT
1 K Raikkonen (McLaren)
2 M Schumacher (Ferrari)
3 R Schumacher (Toyota)
4 J Trulli (Toyota)
5 J Button (BAR)
6 N Heidfeld (Williams)
7 M Webber (Williams)
8 T Sato (BAR)
Michael Schumacher held up the Finn for the race's first half but Raikkonen made his second pit stop a lap later.
That allowed the McLaren's greater speed to get him ahead of the Ferrari, and Schumacher could not keep up.
Raikkonen's win reduced his deficit to championship leader Fernando Alonso to 26 points as the Renault driver finished out of the points in 11th.
Alonso lost his front wing in a collision with Ralf Schumacher's Toyota at the start, and spent the rest of the race stuck in traffic on a track where overtaking is notoriously difficult.
The younger Schumacher survived the incident to finish third following the retirement of Raikkonen's team-mate Juan Pablo Montoya, who was also in the lead battle.
The second Toyota of Jarno Trulli was fourth, ahead of BAR's Jenson Button and the two Williams cars of Nick Heidfeld and Mark Webber.
Schumacher spent much of the race under pressure from McLaren
Button's team-mate Takuma Sato took the final points position in eighth place.
Montoya was on course to win the race when his driveshaft failed on lap 41 while he was leading by nine seconds.
Montoya was on a two-stop strategy, while Raikkonen and Schumacher were making one more, and all three drivers had one stop remaining.
Both McLarens had a significant speed advantage over Schumacher's Ferrari from the start of the race, but they needed to get ahead of the German to make it count.
Montoya and Raikkonen slipped into second and third places at the start after qualifying second and fourth, while Raikkonen managed to sneak ahead of his team-mate in the course of the first lap.
Raikkonen spent the first 11 laps staring at the back of the Ferrari, and then made a long stop for fuel - four laps before Schumacher.
McLaren's thinking was to give him a longer second stint than Schumacher to allow him to make up the necessary ground when the Ferrari stopped.
Klien escaped unhurt from this roll on the first lap
Raikkonen was back on Schumacher's gearbox by lap 18, and tracked him until his second stop.
The extra lap's worth of fuel in the McLaren was enough for Raikkonen to unleash his car's pace and leapfrog the Ferrari.
Raikkonen then streaked away into the distance, leaving Schumacher to fend off an attack by his brother's Toyota in the closing stages.
Raikkonen said McLaren had gambled by giving him a light fuel load in qualifying - which carries over to the start of the race - to negate the disadvantage of going out first following his retirement from the German GP last weekend.
"We took a gamble with the fuel load as we knew we would be penalised going out early but it paid off," he said.
"I'm happy, but it's disappointing for the team as we should have had a one-two finish."
Pole starter Michael Schumacher had to make do with second place, holding off his brother Ralf in third, and he said the fact overtaking is so difficult on the circuit made passing almost impossible.
"You need to be a lot quicker," he said.
"I just went as quick as I had to. Ralf was quick but not quick enough to pass."
"I was waiting for a mistake which he didn't do and that was it," added Ralf.
Alonso was made to pay heavily for his mistake on the final corner in qualifying, when he ran wide at the final corner and could only set sixth fastest time.
Had it not been for that, he would not have been behind the Toyotas at the start.
And on a two-stop strategy, he would have been on course for a podium finish that would have further consolidated his championship lead.
As it was, he rejoined in 17th place after pitting for a new nose cone at the end of the first lap.
After dispensing with the backmarkers, Alonso came up behind the Ferrari of Rubens Barrichello, which he spent the rest of the afternoon behind.
Barrichello, who is expected to join BAR next season, had also been delayed at an incident-packed first corner when he ran into the back of Trulli and also needed to stop for a new nose.
Just behind, Red Bull's Christian Klien emerged unhurt after being tipped into a roll by Jacques Villeneuve.
Alonso also accounted for Klien's team-mate David Coulthard, who ran over the Spaniard's front wing when it fell off the Renault after Turn 11 later on the first lap.
Hungarian Grand Prix provisional result:
1 Kimi Raikkonen (Fin) McLaren-Mercedes one hour 37 minutes 25.552 seconds
2 Michael Schumacher (Ger) Ferrari +35.581 seconds
3 Ralf Schumacher (Ger) Toyota 36.129
4 Jarno Trulli (Ita) Toyota 54.221
5 Jenson Button (GB) BAR-Honda 58.832
6 Nick Heidfeld (Ger) Williams-BMW 1:08.375
7 Mark Webber (Aus) Williams-BMW 1 lap
8 Takuma Sato (Jpn) BAR-Honda 1 lap
9 Giancarlo Fisichella (Ita) Renault 1 lap
10 Rubens Barrichello (Brz) Ferrari 1 lap
11 Fernando Alonso (Spa) Renault 1 lap
12 Narain Karthikeyan (Ind) Jordan-Toyota 3 laps
13 Tiago Monteiro (Por) Jordan-Toyota 4 laps
R Felipe Massa (Brz) Sauber-Petronas 7 laps
NC Christijan Albers (Ned) Minardi-Cosworth 11 laps
R Jacques Villeneuve (Can) Sauber-Petronas 14 laps
R Juan Pablo Montoya (Col) McLaren-Mercedes 29 laps
R Robert Doornbos (Ned) Minardi-Cosworth 44 laps
R David Coulthard (GB) Red Bull-Cosworth 70 laps
R Christian Klien (Aut) Red Bull-Cosworth 70 laps
Key: R=retired, NC=not classified