In dry conditions after two days of rain caused chaos on and off the Silverstone track, Webber pursued pole-sitter Alonso from the start and finally passed the Ferrari driver on lap 48 of 52.
"Fernando Alonso had very good pace, we had the better strategy in the end," Webber said on the podium. "We never gave up, we kept pushing and it did not work out in the end for Fernando."
It gave the Australian a second victory in this unpredictable season to go 13 points behind Alonso, the only other driver to win more than once in 2012.
A second victory in three years at Silverstone —and upstaging world champion teammate Sebastian Vettel, who finished third and is third in the title race — should help Webber as he enters negotiations over a new deal for the 2013 season.
"Mark is doing great for us, we love having him in the team," Red Bull team principal Christian Horner said.
It was a disappointing day for the leading British drivers as both Lewis Hamilton and Jenson Button failed to make the podium.
Hamilton, who is fourth in the drivers' standings, was eighth and McLaren teammate Button was two places lower down but just inside the points after starting from 16th.
"I pushed as hard as I could but I didn't have any speed for some reason," Hamilton said.
Michael Schumacher had started from third, but failed to make the podium for the second successive race as he finished seventh.
During the race, two Sauber mechanics received medical treatment after being hit by driver Kamui Kobayashi as he appeared to fail to brake adequately as he pitted on lap 37. The front left jack man was sent crashing to the ground.