F1 world championship leader Verstappen had sat at the top of the timesheets for much of the session, but Perez edged out his teammate by 0.193s with a late effort to delight his home crowd.
Perez received a huge roar from his Mexican fans as he crossed the line with a new fastest lap to set the benchmark time heading into qualifying.
Verstappen looked to have the upper hand over the rest of the field following a dominant showing in second practice on Friday, but the Dutchman was left to settle for second after failing to improve on brand new tyres with a scrappy lap at the end of FP3.
His title rival Lewis Hamilton took several attempts to set the third-fastest time but still ended up a whopping 0.651s adrift of Perez.
Hamilton’s struggles for pace were summed up by his bewildered response when informed of the gap to Red Bull.
“Six-and-a-half-tenths?” the Briton said over team radio to his race engineer Peter Bonnington.
Teammate Valtteri Bottas was fourth-fastest, just 0.033s behind Hamilton as both Mercedes drivers failed to come close to threatening the Red Bulls.
Fifth place went the way of Ferrari’s Carlos Sainz, who was over a second off the pace as he pipped AlphaTauri driver Yuki Tsunoda, Daniel Ricciardo’s McLaren and Pierre Gasly.
Charles Leclerc had a number of sideways moments as he struggled for grip in his Ferrari on his way to posting the ninth-quickest time.
McLaren’s Lando Norris completed the top 10 but the Briton will start from the back of the grid as one of four drivers to have taken a new engine in Mexico.
He will be joined at the rear of the field by Tsunoda, Lance Stroll and Esteban Ocon for the start of Sunday’s race.