The Mercedes driver, who had complained about the difficult driveability of his car early on, bolted on a fresh set of red-walled soft tyres and ran fastest by a slender 0.084 seconds.
That relegated Verstappen, the Red Bull driver having dominated much of the hour, to second while Leclerc overcame initial braking difficulties to complete the top three.
Verstappen was seemingly operating in a league of his own from his first laps in first practice as the Dutch ended the opening 25-minute stint with a 1.1s cushion over Fernando Alonso.
The Alfa Romeos opened the batting ahead to a tune of cheers from the grandstand, but it took until Carlos Sainz posted a 1m50.961s for anything like a representative time to be set.
But keeping to type in 2022, Verstappen blew that away with his first lap as he toured the 3.15 miles in 1m47.329s on the yellow-walled medium Pirellis to lead teammate Perez.
Alonso then deposed the Red Bull before spending the rest of the session attempting to split the RB18s at the top before Verstappen kept whittling away at the times to set the pace.
After 10 minutes, Verstappen cut his benchmark down to a 1m45.466s to find some 1.825s over Alonso and then lowered it further into the 1m44s, running fastest in all three sectors to set the pace on 1m44.236s to find 1.1s over Alonso as Perez ran third on a 1m45.349s.
Having completed only one install lap before Leclerc was required to pit for 25 minutes to rectify brake issues, Sainz led the Ferrari charge in fourth owing to his 1m45.628s set on the slower hard compound. The Spaniard requested hefty set-up tweaks after his first run.
While there were the occasional spikes of oversteer and clattered kerbs, the only incident of note during the first half of the hour came when George Russell tapped the Turn 11 barriers.
He locked the inside wheel while slowing for the tight right and continued straight on, but soon reversed the undamaged Mercedes and brought it for a precautionary garage visit.
However, Lance Stroll would induce a full red flag with 20 minutes to run after the Aston Martin driver, fourth at the time, slide wide at Turn 5 and clonked the outside wall.
At the right-hander where Sainz had backed out with a huge slide, Stroll buckled his car's rear-left corner and sustained a puncture to pull up and force the session to be stopped.
Despite the first and second sectors being under yellow flags, Verstappen just squeaked round in time to post a purple 1m43.117s on soft tyres to depose Perez by seven tenths.
FP1 resumed four minutes later but only five cars headed out, one of which was the F1-75 of Sainz who ran on soft tyres to a 1m44.138s to sit in third but was a full 1s off Verstappen - partly down to a massive rear end slide through the final corner that forced him well wide.
Leclerc got much closer to his Red Bull rival on his first flying lap on softs, even if he too was battling a twitchy car. The Monegasque posted a 1m43.435s to run second fastest, dropping three tenths to Verstappen but having poached the fastest time of all in the middle sector.
But with five minutes to go, as Verstappen ran on mediums and locked up to take to the Turn 16 escape road, Hamilton surged to the top of the timing screens – helped with a bit of track evolution – by eight hundredths courtesy of his charging 1m43.033s effort in the W13.
Verstappen would therefore take second, the reigning champion carrying a 116-point lead, while Leclerc - who must finish ninth or higher to take the title fight to the next race in Japan - was third.
Perez clocked fourth for Red Bull, which along with Aston Martin is suspected to have breached the 2021 budget cap, while Russell was fifth over Sainz.
Alpine's effort would be led by Esteban Ocon in seventh as Stroll slid to eighth over Pierre Gasly and Alonso. Sebastian Vettel nicked 11th ahead of Daniel Ricciardo, who has not received the wealth of McLaren upgrades for this weekend.
Behind Valtteri Bottas, Magnussen and Yuki Tsunoda was Alex Albon in 16th, the Thai-Brit returning for the Marina Bay weekend after missing the Italian GP with appendicitis before then suffering respiratory failure.
Pos | Driver | Team/Engine | Time | Gap | Laps |
1 | Lewis Hamilton | Mercedes | 1'43.033 | 20 | |
2 | Max Verstappen | Red Bull | 1'43.117 | 0.084 | 20 |
3 | Charles Leclerc | Ferrari | 1'43.435 | 0.402 | 17 |
4 | Sergio Pérez | Red Bull | 1'43.839 | 0.806 | 15 |
5 | George Russell | Mercedes | 1'44.066 | 1.033 | 21 |
6 | Carlos Sainz Jr. | Ferrari | 1'44.138 | 1.105 | 24 |
7 | Esteban Ocon | Alpine/Renault | 1'44.736 | 1.703 | 24 |
8 | Lance Stroll | Aston Martin/Mercedes | 1'45.221 | 2.188 | 12 |
9 | Pierre Gasly | AlphaTauri/Red Bull | 1'45.258 | 2.225 | 24 |
10 | Fernando Alonso | Alpine/Renault | 1'45.336 | 2.303 | 11 |
11 | Sebastian Vettel | Aston Martin/Mercedes | 1'45.354 | 2.321 | 22 |
12 | Daniel Ricciardo | McLaren/Mercedes | 1'45.724 | 2.691 | 21 |
13 | Valtteri Bottas | Alfa Romeo/Ferrari | 1'45.725 | 2.692 | 24 |
14 | Kevin Magnussen | Haas/Ferrari | 1'46.028 | 2.995 | 22 |
15 | Yuki Tsunoda | AlphaTauri/Red Bull | 1'46.081 | 3.048 | 26 |
16 | Alexander Albon | Williams/Mercedes | 1'46.119 | 3.086 | 20 |
17 | Zhou Guanyu | Alfa Romeo/Ferrari | 1'46.408 | 3.375 | 25 |
18 | Mick Schumacher | Haas/Ferrari | 1'46.601 | 3.568 | 23 |
19 | Lando Norris | McLaren/Mercedes | 1'46.680 | 3.647 | 22 |
20 | Nicholas Latifi | Williams/Mercedes | 1'47.092 | 4.059 | 18 |