Vettel hit the front early on while running medium-compound Pirellis, setting a best time of 1m17.960s to head teammate Charles Leclerc by 0.223s.
This ensured Ferrari had the top two positions locked out when the session was red-flagged after 15 minutes when Alex Albon crashed his Red Bull.
Albon spun when he turned in for the rapid Turn 7 left-hander that begins the esses sequence and struck the wall with the right-rear corner.
The right-front then took an impact as the car pivoted after the impact, with the session being stopped for 18 minutes to allow the Red Bull to be cleared.
The Ferrari drivers didn’t head out immediately after the restart, allowing Verstappen and Mercedes driver Lewis Hamilton to take second and third places – both using mediums.
But Leclerc and Vettel were the first frontrunners to head out on soft Pirellis for qualifying simulation runs.
Leclerc strung together a 1m17.072s lap to take top spot, only for Vettel to eclipse him by 0.465s moments later having been faster in all three sectors of the Mexico City circuit.
This meant Leclerc’s second place was vulnerable and Verstappen later posted a 1m16.722s to secure second place and split the Ferraris.
Leclerc had a high-speed spin in the esses late in the session while running on mediums, but was able to rejoin.
Mercedes driver Valtteri Bottas, who had a spin exiting the right-hander leading into the stadium section earlier in the session that was the result of a lockup on entry, was fourth fastest.
He lapped 0.614s off the pace and was 0.349s quicker than Mercedes driver Lewis Hamilton, who was fifth.
Daniil Kvyat was the leading midfield runner for Toro Rosso, leaping ahead of teammate Pierre Gasly after being among the final drivers to post a quick lap.
Gasly was rapid on the medium rubber, posting a time of 1m18.003 that at one stage had him as high as third, but slipped to seventh after failing to improve on fresh rubber.
McLaren’s Carlos Sainz survived a trip across the grass at Turn 1 to set the eighth-fastest time, almost two tenths faster than Renault’s Nico Hulkenberg.
Lando Norris rounded out the top 10 in the second McLaren, 1.742s off the pace and just 0.013s quicker than the lead Racing Point of Lance Stroll.
Sergio Perez was just 0.004s slower than his teammate in 12th place, shading the second Renault of Daniel Ricciardo.
Alfa Romeo’s Kimi Raikkonen was among the first to go out on fresh softs and at one stage broke into the top 10, only to be shuffled back to 14th and 2.074s off the pace.
He was separated from 16th-placed teammate Antonio Giovinazzi by the lead Haas of Romain Grosjean.
Kevin Magnussen, who had an off-track moment at Turn 1 late in the session, was 17th fastest in the second Haas, 0.662s quicker than the lead Williams of George Russell.
Robert Kubica was just over two tenths slower than his teammate, but his time was easily quick enough to secure 19th place thanks to Albon’s early lap time on mediums putting him last.