Hamilton went in first on lap 51 in a move which appeared to hand the advantage to Alonso and Webber, who looked to take advantage of the extra laps on their soft tyres.
Alonso managed two laps more before pitting for the final time himself but the Spaniard was unable to get ahead of Hamilton and Webber's decision to go as far as lap 56 also failed as the Australian had to settle for third.
Hamilton duly took victory by just under four seconds with Webber five seconds further back.
It was a measure of the performance of the top three that Vettel would finish up more than 47 seconds back in fourth place, ending his run of podium finishes this season. Following his early spin, Vettel ran fourth until the opening round of stops, when he dropped behind Felipe Massa's Ferrari.
Despite his best efforts, Vettel remained behind the Brazilian for the remainder of the race before the pair pitted for the medium tyres at the start of the final lap.
Red Bull was able to get Vettel out quicker and the German resumed in fourth with Massa forced to settle for fifth place.
Adrian Sutil was a fine sixth for Force India
as he made a two-stop strategy work to his advantage to finish on the lead lap ahead of the Mercedes of Nico Rosberg. Rosberg has run fifth in the opening laps of the race but dropped back at the race wore on to finish seventh ahead of team-mate Michael Schumacher.
Schumacher had looked particularly racy in the opening stint of the race before spinning at the same place as Vettel, which cost him valuable time. The seven-time champion battled back well however to finish eighth with Kamui Kobayashi
and Vitaly Petrov rounding out the top ten.
Sergio Perez took eleventh in the second Sauber ahead of Jaime Alguersuari
and Paul di Resta, who was involved in an incident with Nick Heidfeld
on the opening lap. Heidfeld was handed a drivethrough penalty for the incident but it mattered little as the German crashed out on the run to the final chicane after being forced onto the grass by Sebastien Buemi.
Heidfeld was one of four drivers to retire from the race, with Jenson Button
forced out when a hydraulic issue saw him forced back to the pits shortly after he moved into sixth place; a poor start having dropped him down to tenth place.
Rubens Barrichello was halted by an engine issue while Tonio Liuzzi's Hispania ground to a halt at the pit exit having slowed on the start finish straight.