Mercedes set the pace in both practice sessions on Friday and looked likely to do the same in P3 as Hamilton led the way, but Verstappen produced his fastest lap of the weekend to beat the season's champion by 0.074s.
Hamilton is the only Mercedes driver in the hunt for pole due to Bottas' penalty, but their appears to be a three-team battle for qualifying - which is live on Sky Sports F1 at 1pm.
Alex Albon was fourth, three-tenths slower than Verstappen, for a Red Bull team who are looking for back-to-back poles for the first time since 2013.
Ferrari, on pole in six of the eight races since the summer break, were fifth and sixth, although Sebastian Vettel and Charles Leclerc were only 0.4s off the pace despite setting their fastest times on the slower medium tyres.
Both drivers were mighty on the straights, before losing time to Mercedes and Red Bull in the twisty final sector.
"It seems to be a three-way fight, which is great," said Sky F1's Nico Rosberg, the 2016 world champion.
"Lewis is back too after hibernating yesterday, back ahead of Bottas."
The battle for Q3 also looks to be a tight one, with Sergio Perez placing seventh for Racing Point but only just ahead of Renault and McLaren, with Daniel Ricciardo and Carlos Sainz leading their respective charges.
Pierre Gasly was 10th for a Toro Rosso team who are hoping to edge out Renault in the battle for fifth in the constructors' standings.