Vettel hit the front early on when using the medium-compound Pirellis, setting a best time of 1m09.570s – a quarter-of-a-second ahead of second quickest Leclerc.
When the field switched to the soft-compound Pirellis for performance runs, Vettel initially struggled to improve after hitting traffic on his first quick lap.
This allowed Leclerc to move into the lead with a lap of 1m09.238s before Vettel reclaimed top spot with a time of 1m09.217s.
Red Bull driver Max Verstappen was one of the last to start his qualifying simulation run, jumping to third place with a lap 0.134s off the pace.
He set the fastest middle sector time of all on that lap, but lost a tenth to the Ferraris in the power-dependent final sector.
Mercedes duo Valtteri Bottas and Lewis Hamilton were fourth and fifth fastest respectively, with the former 0.156s off the pace.
Hamilton was 0.223s down and wasn’t able to post a time until his third attempt, with one lap aborted at the first corner after going deep then having to go off track to avoid Pierre Gasly’s Toro Rosso, which was attempting to let him past.
Kevin Magnussen was a surprise sixth in the Haas, which tends to go well in the cool conditions that prevailed today, with Renault’s Daniel Ricciardo just behind.
Alfa Romeo driver Kimi Raikkonen was among the first to set a qualifying simulation time, which briefly put him fifth before he was shuffled back to eighth – the last driver within a second of the pace.
Red Bull’s Alex Albon had a difficult session and only made a small improvement on his medium-tyre pace when running softs, meaning he was shuffled down to ninth place ahead of McLaren’s Carlos Sainz.
Nico Hulkenberg was 11th in the second Renault, 1.108s off the pace ahead just ahead of the Toro Rosso of Gasly.
Gasly’s session came to a premature end with 20 minutes remaining when he pulled over with smoke emerging from the rear of the car.
He confirmed it was an engine problem over the radio, with the virtual safety car being deployed
Antonio Giovinazzi was 13th in the second Alfa Romeo, pipping Daniil Kvyat by just 0.005s.
Kvyat brought the session to a premature end with five minutes remaining when the red flag flew after he slid into the barrier with the right-rear corner at the Juncao left-hander when the rears locked up thanks to an apparent engine problem.
Racing Point duo Sergio Perez and Lance Stroll were 15th and 17th, sandwiching the second Haas of Romain Grosjean.
McLaren driver Lando Norris was 18th, 1.483s down, with George Russell slowest of the drivers to set a time in 19th.
Robert Kubica, who sat out the first session to allow Nicholas Latifi to drive, didn’t set a time after crashing at the Turn 3 left-hander on his first flying lap early on.
The rear stepped out and Kubica corrected, only to fire the car the other way and into the outside barrier – bringing his session to an end and leading to a seven-minute red flag.