There were no signs of team orders as both drivers pushed hard, each brushing the wall and ultimately pulling out a gap of more than 20sec over the rest of the field.
Both drivers were evenly matched, though, and Verstappen couldn’t challenge the flying Perez.
“We are in the fight. Vamos!” said an ecstatic Perez after crossing the finish line. Later adding: “I am fighting for [the title]”.
He continues his record of only winning street races at Red Bull. Another victory at the Miami street circuit next week will see him lead the championship race.
“It really worked out today for us,” said Perez in the post-race interview. “We managed to keep the pressure on Max.
“I think it was very close between us. We pushed to the maximum today. We touched the walls a few times. The way Max pushed me was really hard.”
Verstappen and Perez started second and third on the grid but both used the Red Bull’s superior straightline speed to pass Leclerc in the opening laps.
Drivers quickly complained of tyre degradation and Verstappen was called in to the pits on lap 10, just as images of Nyck de Vries‘s stationary AlphaTauri appeared on TV screens.
As Verstappen exited the pitlane, it became clear that the car was undriveable after hitting the barrier. The safety car was deployed, allowing Perez to pit and retain the lead, while Verstappen took the restart in third, behind Leclerc.
Once again, the world champion wasted little time in passing Leclerc but advanced no further.
“Of course the safety car was a bit unlucky,” he said. “I tried to stay really close, but I think the tyres were overheating a bit.
“Also the balance was starting to be inconsistent. After I got that sorted the last 10 laps were really good again but too late.”
From the outside, the race was processional, but Verstappen emphasised how hard the leading duo were working. “A few times we hit the wall around the lap,” he said. “We were of course pushing but that’s also part of the street circuit.
“We know it’s a very long season you keep learning, it can’t be perfect every time.”
Charles Leclerc took the final podium place, holding off Fernando Alonso in fourth. He was followed by Carlos Sainz and then Lewis Hamilton, who also pitted before the safety car, but then picked off team-mate George Russell at the restart before moving ahead of Lance Stroll when he ran wide.
Russell crossed the line in eighth, followed by Lando Norris and Yuki Tsunoda in the final points position