Daniel Ricciardo has emerged victorious at a Chinese Grand Prix filled with drama and excitement.
The Australian surged from sixth to first in the space of 10 laps after Red Bull opportunistically pitted for fresh soft tyres behind a safety car.
Mercedes and Ferrari chose to leave their cars on medium-compound tyres that by then were about 10 laps old, but Red Bull decided to switch to fresh softs for a decisive pace advantage.
Ricciardo pulled off daring overtaking moves to pick off Kimi Raikkonen, Lewis Hamilton, Sebastian Vettel and finally Valtteri Bottas, who was leading the race when the safety car came out.
Mercedes driver Bottas came in second with Ferrari's Raikkonen finishing third.
Hamilton crossed the line in fourth, with championship leader Vettel only eighth after a late collision with Max Verstappen, who took fifth.
Chinese GP rankings in full:
1. Daniel Ricciardo (Red Bull Racing)
2. Valtteri Bottas (Mercedes)
3. Kimi Raikkonen (Ferrari)
4. Lewis Hamilton (Mercedes)
5. Max Verstappen (Red Bull)
6. Nico Hulkenberg (Renault)
7. Fernando Alonso (McLaren)
8. Sebastian Vettel (Ferrari)
9. Carlos Sainz (Renault)
10. Kevin Magnussen (Haas)
11. Esteban Ocon (Force India)
12. Sergio Perez (Force India)
13. Stoffel Vandoorne (McLaren)
14. Lance Stroll (Williams)
15. Sergey Sirotkin (Williams)
16. Marcus Ericsson (Sauber)
17. Romain Grosjean (Haas)
18. Pierre Gasly (Toro Rosso)
19. Charles Leclerc (Sauber)
20. Brendon Hartley (Toro Rosso)