The Spaniard was joined on the podium by two former Ferrari champions – Kimi Raikkonen second for Lotus and Michael Schumacher third for Mercedes.
The victory lifted Alonso, who had started 11th on the grid, to the top of the standings with 111 points, 20 clear of Red Bull’s Australian Mark Webber, after eight of 20 races.
It was the 29th career win for Alonso, who won his two titles with Renault in 2005 and 2006.
Alonso was helped by the mechanical problems that forced pole starter Sebastian Vettel’s Red Bull and the Lotus of Romain Grosjean out of the race, while McLaren’s previous championship leader Lewis Hamilton crashed out in the closing laps.
It was still a momentous achievement on a twisty street circuit that had seen three of the past four winners start on pole and nobody win from lower than third place.
“It’s maybe the best victory I have had in terms of emotions,” Alonso told a news conference after sharing the emotion with fans and being mobbed by photographers in the Mediterranean sunshine.
“Here now, with the European championship of football on, and all the fans, I am feeling very proud to be Spanish at the moment,” said Alonso, who had wiped away tears of joy as he stood for the anthems.
Hamilton was fighting to defend third place when he was knocked off the track by Venezuelan Pastor Maldonado’s Williams, with two laps remaining.
The 2008 champion pounded the steering wheel with his fists in fury, before tossing it out of the cockpit.
Seven times world champion Schumacher made his way through the debris to grab third in his Mercedes, his first podium finish since he was at Ferrari in 2006 and first of a comeback that started in 2010.
Now 43, he was the oldest driver to stand on the Formula One podium since Australian Jack Brabham finished second at Brands Hatch in Britain at the age of 44 in 1970.
“As we crossed the line, I asked my team where we finished,” said the German.
“They said third and I couldn’t believe it. I had lost count. It’s a wonderful feeling to be back after such a long time.”
Vettel, world champion in 2010 and 2011, had led from pole and was heading towards his third consecutive victory in the port city when his Red Bull lost power in lap 32.
He parked up, tossing a glove at the wall in disgust.
“The engine stalled and switched off and there was nothing we could have done.
At the moment it’s not clear what exactly was the problem,” he said after returning to the pits.
Grosjean had been competing for the top spot, and the chance of becoming the eighth different winner in eight races, when the Frenchman also had to retire with an alternator problem when placed second in lap 41 of the 57 lap race.
Alonso, who had said after qualifying on Saturday that the ‘podium is out of reach’, defied conventional wisdom to take his second victory after Malaysia in March Marussia’s Timo Glock missed the race after failing to recover from a stomach complaint that forced the German to miss qualifying on Saturday. – Reuters