His new teammate Sergio Perez scored his first points for McLaren as he came home ninth ahead of Toro Rosso's Jean-Eric Vergne.
Felipe Massa claimed fifth place but his Ferrari teammate Fernando Alonso -- the race winner in Sepang last year and overall runnerup -- paid for an early mistake that broke his front wing and ended his day.
Romain Grosjean was sixth for Lotus ahead of teammate Kimi Raikkonen, who won the opening race in Melbourne last Sunday but this time started from 10th after being given a three-place penalty for blocking Rosberg during Saturday's qualifying.
The Finn was fastest in Friday's practice, but downplayed his hopes in the race.
Nico Hulkenberg was eighth to earn Sauber's first points this season.