The big loser at the start was Vettel, whose nightmare weekend got slightly worse when he slipped from 11th on the grid to 15th.
Seven-time world champion Schumacher was forced to retire after his first pit stop when mechanics failed to secure his front right wheel.
"The front wheel got loose, we need to check why and what happened. I noticed it in turn three once I started to turn ... there was a bit of smoke and it was damaged, so I decided to stop it,'' the German said.
Rosberg, remained in the lead after the first round of stops, with the two McLarens of Button and Hamilton chasing him.
With some teams on two-stop strategies and others on three, there was a constant swapping of places.
When Rosberg pitted for the second time, Button moved into the lead with the German coming out behind him, but ahead of Sauber's Sergio Perez and Hamilton, who was struggling to overtake the Mexican.
A disastrous third stop for Button, which took 9.7 seconds, cost the 2009 world champion any chance of winning the race and allowed Rosberg to open up a comfortable lead.
Behind him though, teams were wondering what strategies their main rivals had chosen and, with 10 laps remaining, Kimi Raikkonen in a Lotus and Red Bull's Vettel were second and third.
Button and Hamilton moved through the field after their final stops though to secure the podium places.
Romain Grosjean in a Lotus was sixth followed by Williams drivers Bruno Senna and Pastor Maldonado while Fernando Alonso in a Ferrari and Sauber's Kamui Kobayashi rounded out the top ten.
Ahead of next Sunday's Bahrain Grand Prix, Hamilton leads the drivers' standings with 45 points from Button, who has 43. Alonso is third on 37.
- AAP