Michael Schumacher won the European Grand Prix after a tense race-long battle with Fernando Alonso.
EUROPEAN GP RESULT
1 M Schumacher (Ferrari)
2 F Alonso (Renault)
3 F Massa (Ferrari)
4 K Raikkonen (McLaren)
5 R Barrichello (Honda)
6 G Fisichella (Renault)
7 N Rosberg (Williams)
8 J Villeneuve (BMW Sauber)
Schumacher's Ferrari tracked Alonso's Renault from the start but was unable to pass until the final pit stops.
Alonso stopped three laps earlier than the German, giving Schumacher enough time to build up a big enough margin to rejoin in the lead after his stop.
Ferrari's Felipe Massa was third while Jenson Button's Honda retired with engine failure after a low-key race.
Button's car stopped with 31 laps to go having never been a threat to the front-runners.
The Englishman made up two places from his sixth-place grid position on the first lap.
But after an early intervention by the safety car he struggled to get heat into his front tyres and lost a place to McLaren's Kimi Raikkonen, who passed him at the chicane on lap four.
By the time Button stopped on the pit straight with smoke pouring from his car, he was well behind the McLaren but appeared to be heading for fifth.
Instead that position was taken by his team-mate Rubens Barrichello, who looked much more like his old self following his difficult start to the season.
The Brazilian qualified ahead of Button for the first time this year in fourth place, and despite losing three places at the start he stuck at it for his best race by far since joining Honda from Ferrari at the start of the season.
Like Barrichello, his former team had a slow start to the season, but after two consecutive victories - both in a straight fight with world champion Alonso - Ferrari now appear to have the quickest package in F1.
Schumacher and Ferrari seemed to have an edge on Renault throughout the weekend at the Nurburgring, and believed that Alonso had only snatched pole position by running light on fuel.
That turned out not to be the case - Alonso made his first stop on lap 17, only one lap earlier than Schumacher, and the Spaniard held on to the lead into the second part of the race.
Alonso held on as long as he could but the Ferrari was quicker
But the Renault was never able to shake off the Ferrari and Schumacher was able to make his extra pace count during the extra laps he had at the end of his second stint.
That enabled him to come out of the pits with a comfortable advantage over Alonso, who spent the last part of the race more concerned about Massa's Ferrari behind him.
The two formed the front of a three-car train in the closing laps, with Raikkonen's McLaren finishing strongly in its most competitive showing of the season.
Schumacher said his 86th career win was a battle of wits and tactics.
"It is no suprise that this was a difficult race as we were driving competitively," said Schumacher.
"In the beginning, it was hard driving behind Alonso in his slipstream and the wind was tricky.
"The main thing was just getting out of the pit lane in front, I thought I could do it the first time but I pushed too hard on my in-lap and almost lost it.
"Fernando was pushing very hard and we could luckily match his pace."
Despite conceding to Schumacher, Alonso was also satisfied with his performance in Germany where he notched up his 11th consecutive podium spot.
"Second place here is a fantastic result for us," said the Spaniard.
"We were a little bit down compared to Ferrari and also our tyres were not working perfectly. It was nearly impossible to keep them behind.
"We needed something more to win. It was a question of time before they passed us. To get eight points means we are OK and we should win again."
Behind the leaders, the midfield battle was close. Ralf Schumacher was holding sixth place before his Toyota's engine failed with six laps to go, handing the position to Alonso's team-mate Fisichella.
The Italian battled hard throughout the race after starting 11th.
He was stuck behind Jacques Villeneuve's BMW Sauber for some time, and was closing in on the Toyota before its retirement.
Seventh place went to the impressive rookie Nico Rosberg, who fought through from the back of the grid in his Williams, and spent the last few laps shadowing Barrichello and Fisichella.
Villeneuve took the final points position in eighth place.
European Grand Prix result:
1. Michael Schumacher (Ger) Ferrari 60 laps one hour 35 minutes 58.765 seconds
2. Fernando Alonso (Spa) Renault +3.751 seconds
3. Felipe Massa (Brz) Ferrari +4.447secs
4. Kimi Raikkonen (Finland) McLaren-Mercedes +4.879
5. Rubens Barrichello (Brz) Honda +1:12.586
6. Giancarlo Fisichella (Ita) Renault +1:14.116
7. Nico Rosberg (Ger) Williams-Cosworth +1:14.565
8. Jacques Villeneuve (Can) BMW Sauber +1:29.364
9. Jarno Trulli (Ita) Toyota 1 lap behind
10. Nick Heidfeld (Ger) BMW Sauber 1 lap
11. Scott Speed (US) Toro Rosso-Cosworth 1 lap
12. Tiago Monteiro (Por) Midland-Toyota 1 lap
13. Christijan Albers (Ned) Midland-Toyota 1 lap
R Ralf Schumacher (Ger) Toyota 52 laps
R Juan Pablo Montoya (Col) McLaren 52 laps
R Takuma Sato (Jpn) Super Aguri-Honda 45 laps
R Franck Montagny (Fra) Super Aguri-Honda 29 laps
R Jenson Button (GB) Honda 28 laps
R Christian Klien (Aut) RedBull-Ferrari 28 laps
R Mark Webber (Aus) Williams-Cosworth 12 laps
R David Coulthard (GB) RedBull-Ferrari 2 laps
R Vitantonio Liuzzi (Ita) Toro Rosso-Cosworth 0 laps
Key: R = retired
Fastest Lap: Michael Schumacher, 1:32.099, lap 39.