The Spaniard proved peerless on a day where pit stops replaced drama, as Kimi Raikkonen took second place and Felipe Massa third.
The Red Bull duo of Sebastian Vettel and Mark Webber were a distant fourth and fifith.
It was a tale of woe for the Mercedes drivers - so dominant in qualifying, they were wretched in the race. Polesitter Nico Rosberg slipped down to sixth, while Lewis Hamilton fared worse still, his radio messages ever more miserable as he slumped to 12th.
Paul di Resta impressed again to take seventh for Force India, making him the leading Brit in the race, ahead of the McLaren pair of Jenson Button and Sergio Perez.
Toro Rosso's Daniel Ricciardo bagged the last available point.
It tightens up the title race, as Vettel, Raikkonen and Alonso mark themselves out as the three leading drivers this campaign. After five races, Vettel's lead is cut to just four points from the Finn, with Alonso's second win of the season propping him up to 72 points, 17 behind the German.
The racing at the Circuit de Catalunya was rarely thrilling, with teams constantly worrying more about tyre management than racing. There were 82 pit stops in all across the afternoon, with four stops in 66 laps proved to be the most popular choice, but even then it was a stretch to make the rubber last.
None of that mattered to Alonso, who jumped from fifth to third on lap one with an exquisite move around the outside of Raikkonen and Hamilton.
Rosberg held on to the lead through the first set of stops, but he soon began to fall back after changing his tyres.
Hamilton's race had started to go wrong from the moment he locked his tyres and saw Vettel go around the outside of him at the first corner - racers in just about every car of the grid at one point or another overtook him, and he was incensed when even the struggling Williams of Pastor Maldonado went by.
When asked to conserve his tyres in the middle of the race, Hamilton angrily responded: "I can't go any slower."
With strategy and tyres key, Raikkonen's three-stopper made him a danger behind the Ferrari duo, but in the end he could not keep his pace up quite long enough to overcome both.
Vettel appeared to be trying a similar strategy, rarely at full speed, but in the end his tyre wear was such that he had to change tyres on four occasions, dropping out of contention for the podium, let alone the victory.
It was the drive that the home crowd had been baying for - Alonso had only won once in Catalonia in front of his home fans, but this triumph was greeted as if it was the first.