Lewis Hamilton claimed a third consecutive victory for the first time in his Formula 1 career to close the gap to championship leader Nico Rosberg in the Chinese Grand Prix.
Hamilton dominated the race from pole position, while Mercedes team-mate Rosberg had to battle through to second after a slow start.
Australian Grand Prix winner Rosberg started fourth behind the two Red Bulls, but fell to seventh after a sluggish getaway and was fortunate to emerge from the first corner unscathed after tagging the Williams of Valtteri Bottas.
Mercedes lost the telemetry readings from Rosberg's car before the start, but the team was able to help manage his race without them.
Rosberg repassed Nico Hulkenberg's Force India and Felipe Massa's Williams early on, before jumping Daniel Ricciardo's Red Bull for fourth at the first round of pitstops.
Once it became clear Rosberg did not have to worry about fuel consumption in his second stint, he closed down and passed reigning champion Sebastian Vettel's Red Bull for third.
Vettel slipped back on his second set of tyres and fell into the clutches of team-mate Ricciardo, also recovering after a slow start from the front row of the grid.
Vettel refused an order from his team to let Ricciardo through, but the Australian got the best of their personal duel anyway when four-time world champion Vettel ran deep into Turn 1 around half-distance.
They eventually finished fourth and fifth behind Fernando Alonso, who survived contact with his former Ferrari team-mate Felipe Massa at the start to score the Scuderia's first podium of the season.
Alonso climbed to third with a fast start from fifth on the grid and jumped Vettel for second by making his first pitstop earlier than the Red Bull.
But the improved Ferrari was not fast enough to prevent Mercedes scoring its third consecutive one-two result of 2014, so Alonso had to settle for the final podium spot when Rosberg sailed by serenely on the back straight with 14 laps top go.
Alonso had to do a long stint on his final set of tyres and only held off Ricciardo's Red Bull by 1.2 seconds at the flag, while Vettel finished 24s behind his team-mate.
Massa survived bouncing off Alonso as he tried to squeeze between the Ferrari and Ricciardo's sluggish Red Bull at the start to run as high as fifth, but the Brazilian's race was ruined by a slow first pitstop at which Williams encountered a problem with the left rear wheel.
Nico Hulkenberg got the better of Massa's Williams team-mate Bottas to round out the top six, while Hulkenberg's Force India team-mate Sergio Perez - a podium hero last time out in Bahrain - climbed from 16th on the grid to finish ninth, just 2.4s behind Kimi Raikkonen's Ferrari.
Romain Grosjean's Lotus retired with gearbox problems, allowing Toro Rosso rookie Daniil Kvyat to continue his strong start to the season and claim the final point by rounding out the top 10.
Jenson Button completed a disappointing race for McLaren by finishing 11th, ahead of the slow-starting Toro Rosso of Jean-Eric Vergne and rookie team-mate Kevin Magnussen.
Pastor Maldonado climbed from the back of the grid to 14th in the other Lotus, one place ahead of the recovering Massa.
Results - 56 laps:
Pos Driver Team/Car Time/Gap
1. Lewis Hamilton Mercedes 1h36m52.810s
2. Nico Rosberg Mercedes +18.686s
3. Fernando Alonso Ferrari +25.765s
4. Daniel Ricciardo Red Bull-Renault +26.978s
5. Sebastian Vettel Red Bull-Renault +51.012s
6. Nico Hulkenberg Force India-Mercedes +57.581s
7. Valtteri Bottas Williams-Mercedes +58.145s
8. Kimi Raikkonen Ferrari +1m23.990s
9. Sergio Perez Force India-Mercedes +1m26.489s
10. Daniil Kvyat Toro Rosso-Renault +1 lap
11. Jenson Button McLaren-Mercedes +1 lap
12. Jean-Eric Vergne Toro Rosso-Renault +1 lap
13. Kevin Magnussen McLaren-Mercedes +1 lap
14. Pastor Maldonado Lotus-Renault +1 lap
15. Felipe Massa Williams-Mercedes +1 lap
16. Esteban Gutierrez Sauber-Ferrari +1 lap
17. Kamui Kobayashi Caterham-Renault +1 lap
18. Jules Bianchi Marussia-Ferrari +1 lap
19. Max Chilton Marussia-Ferrari +2 laps
20. Marcus Ericsson Caterham-Renault +2 laps
Romain Grosjean Lotus-Renault 27 laps
Adrian Sutil Sauber-Ferrari 4 laps
Pos Driver Points
1. Nico Rosberg 79
2. Lewis Hamilton 75
3. Fernando Alonso 41
4. Nico Hulkenberg 36
5. Sebastian Vettel 33
6. Daniel Ricciardo 24
7. Valtteri Bottas 24
8. Jenson Button 23
9. Kevin Magnussen 20
10. Sergio Perez 18
11. Felipe Massa 12
12. Kimi Raikkonen 11
13. Jean-Eric Vergne 4
14. Daniil Kvyat 4
Pos Team Points
1. Mercedes 154
2. Red Bull-Renault 57
3. Force India-Mercedes 54
4. Ferrari 52
5. McLaren-Mercedes 43
6. Williams-Mercedes 36
7. Toro Rosso-Renault 8
8. Lotus-Renault 0
9. Sauber-Ferrari 0
10. Marussia-Ferrari 0
11. Caterham-Renault 0