It looked to be Ferrari versus Mercedes but a gamble a second time for fresh tyres behind a Safety Car meant Daniel Ricciardo came through to snatch the Chinese GP win.
While the early stages of the race were all about Sebastian Vettel versus Valtteri Bottas, a Safety Car just past the midway point of the grand prix upped the ante.
Vettel was leading in the opening stint, only for the under-cutting Bottas to beat him out of the pits by 1.3s as they came in for their only stop of the afternoon.
Ferrari tried to use Kimi Raikkonen, who had yet to stop, as a bollard to hold up Bottas. However, the Mercedes driver was not blocked for long, passing Raikkonen down the inside at Turn 3, before Vettel also shot past his team-mate.
Then Brendon Hartley and Pierre Gasly changed the game.
The Frenchman dive bombed his team-mate despite there being no gap and with Toro Rosso bodywork spewed all over the track, the Safety Car came out.
Red Bull reacted, double stacking Max Verstappen and Ricciardo, while Bottas and Vettel weren’t able to given they had just passed the pit entrance.
When the race resumed on lap 36, Bottas got a good start ahead of Vettel and Lewis Hamilton, however, the advantage was all Red Bull’s with their fresh ultrasoft tyres.
But as one Red Bull shone, the other never.
Verstappen tried to pass Hamilton around the outside but instead almost bumped wheels and went off the track. Ricciardo showed him how it is done, coming from absolutely nowhere to cleanly pass Hamilton.
The Aussie’s next target was Vettel. It took him a few laps to close and just a couple of corners to pass as he slipstreamed him down the back straight.
Verstappen also tried to overtake the Ferrari driver but hit him, pitching both into a spin, letting Hamilton and Raikkonen through.
“I don’t think I need to say anything here,” said a disgruntled Vettel. Verstappen was slapped with a 10-second time penalty.
Back at the front Ricciardo raced up to race leader Bottas’ rear wing before squeezing up the inside to lead, and win, the Chinese Grand Prix.
Bottas was second while Raikkonen recovered from his bollard job to finish third ahead of Verstappen and Hamilton.
Verstappen, though, dropped to fifth behind Hamilton.
Nico Hulkenberg was sixth ahead of Fernando Alonso, who clashed with Vettel in the closing stages to barge past and take a position off the Ferrari driver, Vettel, Carlos Sainz and Kevin Magnussen.
1 Daniel Ricciardo Red Bull
2 Valtteri Bottas Mercedes 8.894s
3 Kimi Raikkonen Ferrari 9.637s
4 Lewis Hamilton Mercedes 16.985s
5 Max Verstappen Red Bull 20.436s
6 Nico Hulkenberg Renault 21.052s
7 Fernando Alonso McLaren 30.639s
8 Sebastian Vettel Ferrari 35.286s
9 Carlos Sainz Renault 35.763s
10 Kevin Magnussen Haas 39.594s
11 Esteban Ocon Force India 44.050s
12 Sergio Perez Force India 44.725s
13 Stoffel Vandoorne McLaren 49.373s
14 Lance Stroll Williams 55.490s
15 Sergey Sirotkin Williams 58.241s
16 Marcus Ericsson Sauber 62.604s
17 Romain Grosjean Haas 65.296s
18 Pierre Gasly Toro Rosso 66.330s
19 Charles Leclerc Sauber 82.575s
20 Brendon Hartley Toro Rosso 5 LAPS