The Australian cruised home after taking full advantage of a safety-car period and drive-through penalty for Red Bull team-mate Sebastian Vettel.
Webber was trailed home by Ferrari’s Fernando Alonso, who held off Vettel for second, while Felipe Massa eased home in fourth ahead of Renault’s Vitaly Petrov.
But it was a bad day for McLaren, who saw Lewis Hamilton retire with a gearbox failure on lap 24, when running fourth, while Jenson Button was lapped and could only finish eighth.
All that means Webber now takes a four-point lead over Hamilton in the drivers’ standings going into the three-week mid-season break.
“It was a bit of a gift, but I’ve not had many of them, so I’ll take it. It’s an incredible day for us,” Webber said.
“It’s nice to have more points than anybody else, but we’re not getting ahead of ourselves as there are some big events coming up.”
Second on the grid behind Vettel, Webber lost a place to Alonso at the opening corner but the turning point came on lap 16 when the safety car emerged due to debris on the track, prompting all but three of the field to pile in to change their tyres.
Notably, one of those was Webber, who assumed the lead behind the safety car but, even more crucially, Vettel, allowed the gap behind his team-mate to exceed 10 car lengths, which is against the regulations, resulting in him being handed a drive-through penalty.
With clean track ahead, Webber stormed to victory, while Alonso held off the attentions of a clearly-riled Vettel to prevent another Red Bull one-two.
Michael Schumacher was later given a 10-place grid penalty for the Belgian Grand Prix on 29 August after almost forcing his former Ferrari team-mate Rubens Barrichello into a concrete wall during a dangerous move in a battle for tenth place.
“It was the most dangerous manouevre against me in my career,” Barrichello fumed.
HUNGARIAN GP | RACE STANDINGS
1. Mark Webber (Red Bull) 1:41:05.571
2. Fernando Alonso (Ferrari) +00:17
3. Sebastian Vettel (Red Bull) +00.19
4. Felipe Massa (Ferrari) +00:27
5. Vitaly Petrov (Renault) +01:13
STANDINGS | DRIVERS’ CHAMPIONSHIP
1. Mark Webber (Red Bull) 161pts
2. Lewis Hamilton (McLaren) 157
3. Sebastian Vettel (Red Bull) 151
4. Jenson Button (McLaren) 147
5. Fernando Alonso (Ferrari) 141