|Hamilton went into third in the standings ahead of former teammate Fernando Alonso [Reuters]
McLaren's Lewis Hamilton produced a monumental drive to take his second win of the season in the German Grand Prix after an enthralling battle with Ferrari's second-placed Fernando Alonso and Mark Webber.
The only disappointment for supporters was Red Bull's titleholder and championship leader Sebastian Vettel struggling in his home race to finish fourth as rain just about held off.
Vettel's run of 11 successive podium finishes ended but the 24-year-old saw his overall lead trimmed by just three points over teammate Webber to 77 with nine races left.
Pole sitter Webber, who finally led a lap for the first time this year, had watched Vettel win six of the previous nine races while finishing in the top two each time.
This time, both Red Bulls were outshone by the flying Englishman who started on the front row and seized the lead into the first corner.
Hamilton leapfrogged Spaniard Alonso into third in the standings.
Vettel has 216 points, Webber 139, Hamilton 134 and double world champion Alonso 130.
Hamilton, who said he had no chance of pole before seizing second on the grid, made a great start while Alonso also got past Vettel only to soon lose the initiative.
As the front five predictably pulled away from the pack, Alonso – who won last time in Britain for Ferrari's first victory of the season – retook the struggling Vettel in style at turn one of the ninth lap.
Further drama ensued when Webber, who was only the third man since 1995 to win here from pole two years ago, edged ahead of Hamilton only for the pumped-up Briton to immediately retake the lead with a courageous move down the straight.
Despite rain in the air, the teams began on dry tyres and by the time they first pitted the risk of a traditional downpour in the Eifel mountains looked to have receded.
Red Bull performed their usual heroics in the pits to get Webber back out in front of Hamilton but by the second round of pit stops Alonso found himself ahead before an outrageous pass by the McLaren sent the Briton clear.
A third pit stop had Hamilton just coming out in front and he surged towards the chequered flag for his 16th career win.
Alonso then stopped his car on track after running out of fuel on the slowing down lap and hitched a lift on Webber's Red Bull back to the pits.
Vettel, starting off the front row for the first time this year, slipped behind Ferrari's resurgent Felipe Massa only to retake fourth late on when both pitted at the same time in dramatic fashion and Ferrari reacted more slowly.
Lower down the field, McLaren's Jenson Button retired with a hydraulics problem when in sixth place.
Michael Schumacher's miserable time continued as he spun on a corner under no pressure to leave Mercedes fans shaking their heads although he recovered to finish eighth.
Germany's Nick Heidfeld crashed out in the Renault after a collision with Toro Rosso's Sebastien Buemi, who had started from the back of the grid after being banished for a fuel irregularity.