(CNN) -- The Formula One title race took another twist on Sunday as Lewis Hamilton reignited his hopes with victory at the Italian Grand Prix, while Fernando Alonso extended his lead as rivals Sebastian Vettel and Mark Webber flopped at Monza.
Hamilton, whose future at McLaren has still yet to be decided, moved up to second in the standings with his first victory at the prestigious venue and third this season.
"It's a fantastic win in front of the best crowd. I'm happy for the team. It's been the best day," the 2008 world champion told reporters after giving McLaren a third successive victory.
However, the English driver is still 37 points adrift of Alonso, who went into Ferrari's home race with a 24-point advantage over Vettel after being caught in a spectacular crash at Spa last weekend.
The Spaniard, seeking his third world title and first since he was at Renault in 2006, had to settle for third place after an impressive drive by Sergio Perez, whose Sauber team use Ferrari engines.
"That was a great race for me for my team. It's unbelievable to get a podium in Monza. It's really special," the Mexican said.
Two-time world champion Vettel and Webber, who had been second and third overall, finished out of the points at the tail of the field as both drivers suffered problems.
Their Red Bull team, seeking a third successive constructors' title, now have a 29-point lead over McLaren with seven races remaining.
"Towards the end of the race, I had no rear tires left and I was pushing reasonably hard," Webber said.
"I was worried about damaging the car. We do 330 km/h round here, I couldn't see the track, so we decided to retire."
It was the first time both Red Bull drivers had failed to win points since the race in South Korea in 2010.
"I found out I had a problem roughly 300 meters before I stopped the car. It was an alternator problem, similar to the one we had yesterday morning," Vettel said.
"It had been a good race for us given the lack of pace. There are not so many long straights at the next couple of circuits, so we can challenge there."
Hamilton started from pole position and finished the race with a comfortable 4.3-second margin over Perez, who began with hard tires while everyone else opted for medium Pirellis.
Hamilton's teammate Jenson Button, who won the last race in Belgium, had been in second place but a fuel pick-up problem on the 33rd lap meant he failed to finish -- a result that has almost extinguished his hopes of adding to his 2009 world title.
Perez climbed from eighth to second by the 29th lap, while Alonso also worked his way up the grid from 10th following technical problems in Saturday's qualifying.
He was helped by Ferrari teammate Felipe Massa, who qualified third and gave up second place to Alonso on the 40th lap -- though Perez came through to secure his second runner-up finish this season and third podium position.
Alonso survived a tussle with Vettel which earned the German a drive-through penalty, while Massa held on for fourth to equal his best result this season.
"It was a difficult race starting 10th, but we knew we had the quickest car, so to recover the way we did was good," Alonso said.
Former world champion Kimi Raikkonen took fifth to be third in the overall standings, a point behind Hamilton and one ahead of Vettel.
Seven-time world champion Michael Schumacher was sixth ahead of Mercedes teammate Nico Rosberg, while Paul di Resta was eighth for Force India and Kamui Kobayashi ninth in the second Sauber.
Bruno Senna, nephew of the late great Ayrton, claimed the final point ahead of Williams teammate Pastor Maldonado.