The Spaniard wrested the lead from Red Bull's Sebastian Vettel just past the halfway point in the 57-lap race and went on to become the 2012 Formula One season's first repeat winner.
The two-time F1 titleholder, who also took the March 25 Malaysian Grand Prix, finished 6.4 seconds ahead of Lotus' Kimi Raikkonen for his 29th career win.
Vettel, meanwhile, was forced to withdraw after stalling on the track due to a mechanical issue. He held the lead for the race's first 33 laps.
Mercedes' Michael Schumacher garnered his first podium finish since coming out of retirement in 2010, coming in third.
Alonso raised his points total 111, passing Red Bull's Mark Webber (91), who finished fourth Sunday.
Costly malfunction causes beer flood at Boston-area brewery
Megyn Kelly: Santa Claus and Jesus are both white men