Hamilton lost vital seconds with a slow tyre change, and Button damaged his front wing after tangling with the HRT of Narain Karthikeyan on his first lap out of the pits.
That left Alonso out in front of Sauber’s Sergio Perez, who was the star of the race. The young Mexican had climbed to third place in the first portion of the event after making a shrewd early switch to full wet tyres.
See our Malaysian Grand Prix picture gallery
Now on intermediate tyres, he began to eat into Alonso’s lead as the circuit began to dry out. The leaders moved onto slick tyres for the final stint of the race, but Perez continued to close on the Ferrari ahead. He was less than a second behind he received a message via the pits-to-car radio to remind him how essential it was for Sauber – which has an engine supply deal with Ferrari – to collect a big haul of points.
A lap later, Perez ran off the track and lost a handful of seconds, ending any prospect of beating Alonso and relieving the pressure on the leader. Nevertheless, second place was a remarkable result for the small Sauber team.
See our Malaysia Grand Prix picture gallery
Hamilton came home in third position for the second consecutive weekend, but team-mate Button couldn’t recover from his mid-race collision.
Red Bull’s Mark Webber finished fourth on a weekend but his team-mate Sebastian Vettel encountered double trouble in the closing stages of the race. He sustained a rear puncture after clipping Karthikeyan’s front wing while lapping the Indian driver and dropped out of the points.
Kimi Räikkönen, Bruno Senna and Paul di Resta had strong runs to fifth, sixth and seventh respectively, while Jean-Eric Vergne scored his first F1 points in eighth. Nico Hulkenberg was ninth for Force India.
Michael Schumacher qualified third for Mercedes, but clashed with Romain Grosjean on the opening lap and fell to the back of the field. He recovered to tenth place at the chequered flag.
Provisional race results
Malaysian Grand Prix, Sepang, 25 March 20121 Fernando Alonso (ESP), Ferrari2 Sergio Perez (MEX), Sauber-Ferrari3 Lewis Hamilton (GBR), McLaren-Mercedes4 Mark Webber (AUS), Red Bull-Renault5 Kimi Räikkönen (FIN), Lotus6 Bruno Senna (BRA), Williams7 Paul di Resta (GBR), Force India8 Jean-Eric Vergne (FRA), Toro Rosso9 Nico Hulkenberg (GER), Force India10 Michael Schumacher (GER), Mercedes
Driver standings: 1 Alonso 35pts 2 Hamilton 30 3 Button 25 4 Webber 24 5 Perez 22 6 Vettel 18
Team standings: 1 McLaren 55pts 2 Red Bull 42 3 Ferrari 35 4 Sauber 30 5 Lotus 6 Force India