Michael Schumacher dominated on his home turf from the very start and finished nursing a comfortable gap between his Ferrari and the BAR Honda of Jenson Button to win his 11th race of the season.
With the German Grand Prix victory, Schumacher equals his 2002 record win tally.
The German's lap times were being matched early by Kimi Raikkonen, but the rear wing of the Finn's McLaren flew off at high speed going into turn one after 13 laps, and with no rear downforce the car slid sideways into a tyre wall. Raikkonen was unhurt, but the accident sucked all the excitement out of a race that was over at that moment.
Button started down in 13th place after being penalised for an engine change in qualifying but stormed through the field to finish a courageous second, 8.3 seconds behind Schumacher. He was having trouble breathing because of a helmet malfunction and had to hold his visor shut with his left hand. He drove the last 16 laps virtually one-handed.
Fernando Alonso claimed the final podium position for Renault after denying McLaren's David Coulthard his first podium of the year. fourth was the Scot's best result of the season.
Juan Pablo Montoya was fifth with stand-in Williams team-mate Antonio Pizzonia impressing on his debut for the team with seventh in his first race since being sacked by Jaguar last year.
Mark Webber claimed his best result of the year with sixth while Takuma Sato scored the last point for BAR.
At the start, Schumacher made the perfect getaway as Montoya threw away his first front-row qualifying spot of the season.
The Colombian dropped to seventh and he was not the only big name to suffer a difficult opening lap.
Rubens Barrichello knocked his nose cone off against Coulthard's McLaren after braking too late as the pack bunched up into the hairpin, forcing the Brazilian to pit for repairs and rejoin at the back.
Montoya quickly set about recovering lost ground and accounted for Webber early on as Button also charged through the pack, swiftly moving into the top 10 after starting 13th.
Little changed at the front in the first round of pit stops, although by pitting a lap later than Schumacher, Raikkonen was able to close in slightly.
Raikkonen's misfortune promoted Alonso to second with Coulthard third.
A smart strategy from Button allowed him to stay out of the pits longer than his rivals and he returned to the track in fifth after finally stopping for more fuel and new tyres.
Button's progress continued when the Englishman claimed fourth after Montoya ran wide on lap 22.
He held the lead again briefly as the second set of pit stops began, which saw Schumacher stop a lap before Alonso and lose two seconds on the Spaniard in the process.
Sato's progress was halted when he spun while Button pitted on lap 34 to hand the lead back to Schumacher. But his strategy was clearly working, with Alonso in his clutches.
Button got alongside the Renault driver on consecutive laps but could not squeeze by and opted instead to bide his time.
Schumacher pitted for his final scheduled stop on lap 47, as did Alonso, to leave Button out in front.
Button made his final stop on lap 50 but frustratingly emerged just behind Alonso having failed to eke out enough of a gap while leading.
But on lap 52 he made a daring move into the hairpin to sneak past into second and quickly set about chasing Schumacher but he did not have enough laps to catch the German.