Lewis Hamilton took a dominant victory in the Italian Grand Prix to beat Sauber's Sergio Perez and Ferrari's Fernando Alonso.
From pole position, Hamilton lost the lead only briefly during the pit-stop period and was never seriously under threat.
Perez, who qualified 12th, took advantage of a different strategy and free choice of tyres at the start to climb through the field and pass Alonso with seven laps to go.
Alonso, who drove an excellent race to climb up from 10th on the grid, has consolidated his championship lead and is now 37 points ahead of Hamilton, who moved up from fifth to second.
"It was pretty trouble free, I don't think I had any problems," said Hamilton. "The guys did a great job, [and I] got a great start for once, so very happy with that.
"Very unfortunate for Jenson because we were one-two at the time and it would have been fantastic to have been first and second."
Alonso said: "Absolutely perfect Sunday for us. Obviously the win was out of reach after starting 10th.
"If we cannot win, podium is next target and all the predictions was never on the podium finish, so much better than I expected. Jenson and the two Red Bulls were out of the race, so [it's the] perfect Sunday for me."
Vettel's retirement, with his second alternator failure of the weekend, dropped him to fourth, two points behind Hamilton and one behind Lotus's Kimi Raikkonen.
Red Bull's Mark Webber, who retired after a troubled race, is fifth, 47 points behind Alonso, with Button sixth, 78 points adrift and realistically out of contention.
The race contained plenty of action and overtaking, and a moment of major controversy between title contenders Alonso and Vettel.
The German was given a drive-though penalty for forcing the Spaniard off the track in an incident reminiscent of a similar one involving the same drivers in last year's race.
Last year, the German passed the Ferrari driver around the outside of the 180mph Curva Grande with two wheels on the grass and felt Alonso had pushed a bit too far.
Alonso was not penalised for that incident. In this year's incident, on lap 26 of the race, the roles were reversed and Alonso tried to pass Vettel on the outside.
Vettel moved across and did not leave enough room for Alonso, who ended up with his entire car on the grass.
The move damaged the rear of Alonso's Ferrari both aerodynamically and mechanically, but the Spaniard still managed to catch and eventually pass Vettel.
Alonso complained over the team radio: "He pushed me," and the stewards agreed that Vettel had gone too far and gave him a drive-through penalty.
"There's nothing really to say," said Alonso. "I lost 10 laps behind him after the incident.
"And for sure the car is damaged because at 330km/h you are jumping on the gravel so I don't think the floor and everything will be fine after those jumps."
Vettel rejoined seventh and passed team-mate Mark Webber to run sixth but pulled off with six laps to go. Button's retirement was caused by a fuel pick-up problem.
Ferrari's Felipe Massa took fourth as Raikkonen just held off Michael Schumacher's Mercedes on the final lap to finish fifth.
Schumacher's team-mate Nico Rosberg was just behind in seventh, both Mercedes choosing to do a rare two-stop strategy because of high tyre wear.
Force India's Paul di Resta was eighth, ahead of Sauber's Kamui Kobayashi and Williams driver Bruno Senna.
Hamilton was in impressive form, holding off Massa's challenge into the first corner and then building a lead which he was able to protect for the rest of the race.
But Perez and Alonso also drove strong races to take the final two podium finishes.
Perez chose to start on the hard tyres and made his tyre stop six laps after Hamilton.
That meant he was on the faster 'medium' tyre for the last part of the race, taking advantage of their greater pace and extra freshness to rapidly haul in the Ferraris of Alonso and Massa.
"I don't think we had the pace in qualifying for a single lap," said Perez. "We were lacking too much speed on the straights.
"Yesterday in qualifying I did not have good lap, I was too close to Bruno Senna, I lost downforce, that was reason not to be in top 10 but it helped us to change the strategy, we start on the prime and it worked quite well."
He closed in on Hamilton, too, but not fast enough to be a serious threat.
Hamilton's victory means he joins Alonso as the only two drivers to win three races this season.