Rosberg said: "Unbelievable feeling, very cool, very happy, very excited. It's been a long time coming for me and the team also. It's amazing, and it's really nice to see how quickly we are progressing, I didn't expect to be that fast."
The race was a classic strategy battle between those doing two stops and those doing three.
Rosberg and Mercedes chose two, Button and McLaren three, and it appeared set for a close battle to the finish in the final stint between the two until a problem fitting a rear wheel at his final pit stop delayed the Englishman.
Rosberg amazed by Shanghai win
Button said: "Before the final stop our race pace was good, especially on the harder tyre, and then the last stop, I stopped on the marks and we had problems with the rear of the car and lost nine to 10 seconds.
"It was a pity because I had four cars in front of me, and I would have had a nice clear track to hunt down Nico.
"It would have been a big gap but I would have given it a go."
The problem put Button in a huge scrap for second, stretching initially from Kimi Raikkonen's Lotus in second place back to Paul di Resta's Force India in 13th, all running in line astern.
A frantic last 10 laps first saw Raikkonen, on a two-stop strategy, drop to the back of the group after running wide as his tyres started to lose grip.
That left Vettel, also on two stops, in second ahead of the two McLarens, with Button ahead of Lewis Hamilton, who did three stops like his team-mate.
Nico Rosberg celebrates his first victory on the podium
Button passed Vettel for second place on lap 50, Hamilton followed him past four laps later, and Webber took fourth place from his team-mate between the penultimate and last corners on the final lap.
Hamilton said: "I'm very happy to make it up to the podium. The team did a great job through the pit stops and I think it was one of the best races so far in the season. It was incredible. Fantastic day."
Alonso had been battling with Hamilton and Webber but he made an error in trying to pass Maldonado around the outside of the fast Turn Seven, ran wide and lost ground.
Michael Schumacher ran second to team-mate Rosberg, losing half a second a lap, until his first pit stop, when the team did not tighten the nut on his right front wheel and he was forced into retirement.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.