Leclerc controlled the session throughout although only beat Verstappen’s Friday benchmark in the final 20 minutes.
Initially, Leclerc was on top with a 1m33.906s but the Monegasque lapped 1.1s quicker than that on his first flying lap on his last run.
He shaved off another tenth from that time after backing off to cool his tyres, ending up on a 1m32.861s, 0.3s quicker than the best lap on Friday.
Hamilton ended up the best of the Mercedes runners, 0.396s off the pace, having feared after his first runs that a much bigger margin would be difficult to eradicate.
Despite finding more time at the end, and briefly going second in the times, Hamilton was overhauled by the second Ferrari.
Vettel was 0.4s slower than Leclerc after their first laps on the last runs, but made a decent improvement to get back ahead of Hamilton with a 1m33.129s.
Max Verstappen was expected to challenge Leclerc for the quickest time after initially lapping just 0.4s off the pace in the first runs despite only using the medium compound.
However, he failed to set a flying lap after switching to softs. His first lap on a late run was compromised by a wide moment exiting Turn 2 that sent him very slightly airborne over the exit kerb.
He spun on his second flying lap under braking for the tight Turn 13 right-hander after the long left, and ended up lightly nerfing the barrier rearwards.
That left Verstappen fifth in the times, ahead of the Haas of Romain Grosjean. The Frenchman was on an even faster lap when he had a wide moment and skated over a sausage kerb, but his best was still good enough to finish just 1.5s off the pace.
A late lap launched Alex Albon to seventh in the second Red Bull but he lost time running wide out of the final corner and should have moved to fifth.
Towards the back of the order, Daniil Kvyat completed just four laps as his miserable home grand prix continued.
After losing time in FP1 and being told he could not use a special tribute helmet on Friday, Kvyat stopped on-track in FP3 with a Honda engine issue.
He will switch to a new Spec 4 engine for the grand prix as he is poised to start last anyway after multiple component changes already.