The 30-year-old Spaniard started from pole position and dominated the 67-lap race in consummate style as he came home 3.7 seconds ahead of local hero, defending champion Sebastian Vettel of Red Bull.
It was Alonso's third win this year after his triumphs in Malaysia and at the European Grand Prix, and it was also the 22nd consecutive race in which he had finished in the points for Ferrari.
He moves 34 points clear of Webber in the title race with 154 points to the Australian's 120.
"We'll enjoy the win," said Alonso. "Starting on pole was the key factor because it was difficult to overtake and we were not the fastest but we kept the position."
Briton Jenson Button of McLaren, who had proved the potential of his revamped car for a long spell in the race, came home third after being passed by Vettel, who ran wide and off the track, on the penultimate lap.
The race stewards announced they were investigating Vettel's passing move, a statement that left the result unconfirmed pending the result of their decision and any chosen sanction.
"They are going to investigate your overtake you know," Button said to Vettel afterwards. "I didn't know where you were," replied the German, who has yet to win a race on home soil.
"I was fighting like a lion, but I had nothing left," he added. "I am sorry, but we never really had a chance to get close to Fernando Alonso."
Finland's Kimi Raikkonen finished fourth for Lotus ahead of Japanese Kamui Kobayashi and his Sauber team-mate Mexican Sergio Perez, who came home sixth.
Seven-time champion and German hero Michael Schumacher (43) finished seventh for Mercedes ahead of Australian Mark Webber in the second Red Bull and another German, Nico Hulkenberg, who was ninth for Force India.
Another German, Nico Rosberg, in the second Mercedes, finished 10th.
A crash on the opening corner involving the Ferrari of Felipe Massa, Frenchman Romain Grosjean of Lotus and Brazilian Bruno Senna of Williams marred the start of the race.
All three drivers required a pit stop at the end of the opening lap, but surprisingly, there was no red flag despite the incident.
As a result, a lot of debris was left on the circuit and McLaren's Lewis Hamilton, in his 100th Grand Prix, picked up a puncture on his second lap and was forced into the pits before dropping to the back of the field.
"The car does not feel stable," he told McLaren on the radio after rejoining in a bid to fight his way through the field on hard tyres.
The 2008 world champion was later forced to retire for the second time in three races. — AFP.