Bottas posted a 1:33.330 on his qualifying simulation run to sit top of the FP2 timesheet, marginally ahead of Vettel while Red Bull’s Max Verstappen kept in touching distance a further two tenths back.
Lewis Hamilton, an early spinner in the afternoon session, was P4, seven tenths down on his team-mate but did not complete a qualy sim and instead dived straight into his long runs.
A scrappy qualy sim run from Charles Leclerc saw him bogged down in P7 with Renault’s Nico Hulkenberg and McLaren’s Carlos Sainz completing a new-look top six.
Leclerc’s afternoon session would not get any better as system cooling checks back at the garage prevented him from logging any valuable long-run data.
Rounding out the top 10 were Lando Norris, Daniel Ricciardo and Pierre Gasly, the latter still struggling to impose himself at the top end of the timesheet.
Elsewhere, Toro Rosso’s Daniil Kvyat was playing catch up to the rest after Honda performed what was their first engine change of the season.
Drivers were met with the same pleasant weather and hot track conditions at the Shanghai International Circuit, where cold rears caused the likes of Hamilton and Bottas to go for some early spins.
But Hamilton would recover quickly by getting the better of his rivals in the opening exchanges of FP2.
On his second timed lap with mediums strapped on, he posted a 1:34.226 to edge out Leclerc, who was on the same compound, by 0.045 seconds.
The only driver not to set a time in the opening 30 minutes was Toro Rosso’s Daniil Kvyat, with Honda performing their first engine change of the season after spotting anomalies in their data.
#KVY26 Update 👇🏻
During FP1, we noticed an anomaly in the PU data from Kvyat’s car. With only a short time to investigate the matter fully between FP1 and FP2, we have therefore decided to change the PU on his car as a precautionary measure.#PoweredByHonda pic.twitter.com/loxH02esn7
— Honda Racing F1 (@HondaRacingF1) April 12, 2019
Back on track, attention switched to the all-important qualifying simulation runs; Vettel immediately found six tenths on his quickest time in FP1 with a 1:33.357.
That time, however, was beaten at the first time of asking by Bottas. The Finn shaving 0.027 seconds off in his Mercedes W10.
Verstappen’s response began by going purple in the first sector, but a couple of twitches from the RB15 ensured he would fall two tenths behind Bottas’ best.
There was also improvement from Leclerc, yet it was nowhere near enough to trouble the pacesetters. Traffic during his first run and a mistake on his second qualy sim lap resulted in him being 0.828s down.
Hamilton, meanwhile, remained 0.707s behind his team-mate after not even bothering with any qualy runs and instead switching over to his race sim programme.
At least Hamilton had the luxury of being able to do that, as Leclerc’s day came to a rather abrupt end with Ferrari confirming that they were checking the cooling system for possible leaks.
1 Valtteri Bottas Mercedes 1:33.330 37 laps
2 Sebastian Vettel Ferrari 0.027s 33
3 Max Verstappen Red Bull 0.221s 29
4 Lewis Hamilton Mercedes 0.707s 32
5 Nico Hulkenberg Renault 0.766s 31
6 Carlos Sainz McLaren 0.811s 36
7 Charles Leclerc Ferrari 0.828s 13
8 Lando Norris McLaren 0.966s 38
9 Daniel Ricciardo Renault 1.006s 32
10 Pierre Gasly Red Bull 1.125s 32
11 Kimi Raikkonen Alfa Romeo Racing 1.221s 33
12 Alex Albon Toro Rosso 1.304s 37
13 Daniil Kvyat Toro Rosso 1.364s 20
14 Lance Stroll Racing Point 1.449s 37
15 Sergio Perez Racing Point 1.454s 35
16 Kevin Magnussen Haas 1.458s 34
17 Romain Grosjean Haas 2.374s 32
18 Antonio Giovinazzi Alfa Romeo Racing 2.584s 39
19 Robert Kubica Williams 2.791s 38
20 George Russell Williams 2.899s 35
Follow all the action from the Chinese Grand Prix with the PlanetF1 live centre