It was Webber's second win in 2012, after triumphing at Monaco, and his second at Silverstone in three years.
Webber's Red Bull team-mate and defending double world champion Sebastian Vettel came home third to ensure the champions had two men on the podium.
Webber's winning time was one hour, 25 minutes and 11.288 seconds in front of a capacity Silverstone crowd of 120,000 spectators who had braved torrential rain for most of the weekend.
Pole sitter Alonso's second place, having led until the closing stages, enabled him to stay on top of the drivers' title race with 129 points ahead of Webber on 116.
Felipe Massa finished fourth in the second Ferrari ahead of his former Ferrari team-mate Kimi Raikkonen and his Lotus team-mate Romain Grosjean.
Seven-time world champion Michael Schumacher of Mercedes finished seventh ahead of home favourite Lewis Hamilton who produced some spectacular racing on his way to eighth for McLaren.
Bruno Senna finished ninth for Williams and Jenson Button was 10th in the second McLaren.
Champwatch | How they stack up