Leclerc left it late to post his fastest time of 1m25.905s on soft tyres on a cool, drizzly Saturday morning at Silverstone, the lap putting him 0.026s ahead of Vettel.
Mercedes driver Hamilton headed up Red Bull pair Pierre Gasly and Max Verstappen, while Valtteri Bottas ended up sixth-fastest in the second Mercedes.
The arrival of light rain a little more than 10 minutes into the session meant George Russell’s early benchmark of 1m31.810s stood for more than half an hour.
Several cars ventured out on intermediates after the shower, including Hamilton, who told his Mercedes team via radio he felt the conditions were good enough to go out on slicks.
The reigning champion soon came in for a set of soft-compound Pirellis, but didn’t venture out of the pits at first, waiting until just after the half-hour mark to head out on the red-marked tyres.
Russell’s time finally was beaten by Renault’s Nico Hulkenberg with 26 minutes left on the clock, the opening salvo in a series of improvements that lasted practically for the remainder of the session.
Both Hamilton and Bottas enjoyed multiple spells leading the way before Leclerc finally set his session-topping time on soft tyres with a little more than nine minutes left in the session.
Vettel made a late move up to second shortly afterwards, also on softs, to move clear of Hamilton, while both Gasly and Verstappen set their best times in the closing minutes to jump Bottas.
McLaren driver Lando Norris made a last-ditch improvement to move up to seventh ahead of the two Renaults of Daniel Ricciardo, running a new chassis on Saturday after his engine failure on Friday, and Hulkenberg, while the top 10 was rounded out by Toro Rosso’s Alex Albon.
Carlos Sainz was 12th-fastest in the second McLaren behind the Alfa Romeo of Antonio Giovinazzi.
Daniil Kvyat almost squeezed Bottas into the barriers at Woodcote in the latter stages on his way to the 13th-best time in the second Toro Rosso.
The two Haas cars of Romain Grosjean and Kevin Magnussen were next up, followed by Kimi Raikkonen’s Alfa and the Racing Point machines of Lance Stroll and Sergio Perez.
Russell was predictably shuffled all the way back to 19th after his long early spell out front, ending up ahead of only Williams teammate Robert Kubica.