The Red Bull driver made amends after a disappointing Friday to pip Leclerc by just 0.055s, while Hamilton was only 0.069s adrift in an incredibly tight qualifying session that was ultimately decided by a single run in SQ3.
Newly-crowned three-time world champion Verstappen topped all three segments of the sprint shootout before taking pole, but did have a spin in SQ2.
McLaren duo Lando Norris and Oscar Piastri were fourth and fifth ahead of Ferrari’s Carlos Sainz.
The under-pressure Sergio Perez could only manage seventh, half a second down on his Red Bull teammate, with Mercedes’ George Russell eighth.
Alex Albon impressed to secure ninth place in his Williams, while Pierre Gasly rounded out the top-10 for Alpine.
The returning Daniel Ricciardo was 11th in his AlphaTauri, while it was another tricky qualifying for Aston Martin, with Fernando Alonso and Lance Stroll knocked out in SQ2 and only 12th and 14th.
At the back of the grid, AlphaTauri's Yuki Tsunoda was a frustrated 19th, ahead of Williams' Logan Sargeant, who was the slowest driver in qualifying for the second day in a row.