Button enjoyed an untroubled afternoon in the Belgian sunshine, taking the chequered flag 13.6 seconds clear of Red Bull's double world champion Sebastian Vettel, who won from pole last year.
Finland's Kimi Raikkonen took third place for Lotus.
Alonso, who started the race with a 40 point lead over Red Bull's Australian Mark Webber, had hoped for a record-equalling 24th successive points finish but that was shattered in a cloud of carbon-fibre after a matter of metres.
In Image: McLaren Mercedes driver Jenson Button of Britain, center, reacts on the podium after he won the Belgian Formula One Grand Prix in Spa-Francorchamps, Sunday, Sept. 2, 2012. Red Bull Racing driver Sebastian Vettel of Germany, left, finished second and Lotus driver Kimi Raikkonen of Finland, right, third.