Red Bull's Max Verstappen powers from ninth to win Miami GP
The victory extends Verstappen's lead at the top of the standings and follows his triumph in the inaugural Miami race last year.
The 1-2 for Red Bull is their fourth in five races so far this season as the team utterly dominate the sport leaving their rivals to battle for the third podium position.
Aston Martin's Spanish veteran Fernando Alonso took third for his fourth podium in five races this season as he continues to enjoy his late career revival.
Perez, starting on pole, made the perfect start, racing clear of his rivals but Verstappen, on hard tyres, quickly moved through the field and took just 15 laps to reach second place behind his team-mate.
Perez pitted on lap 20 allowing Verstappen to take the lead but the Dutchman had to give that up when he went into the pits on lap 46, changing to the medium compound tyres and coming out 1.2 seconds behind.
It took just two laps for Verstappen, who won the inaugural Miami Grand Prix a year ago, to take advantage of his fresher tyres with better grip as, after a brief joust, he overtook the Mexican, on 25-lap-old tyres, to take the lead.
Verstappen's 38th win for Red Bull equals the team record set by Sebastian Vettel.
"I took the cars off one by one and then I could stay out really long on the hard tyres and that's where we I think made the difference," said Verstappen.
"For sure winning a race from P9 is always very satisfying," he said.
Mercedes had some consolation at the end of a difficult week with George Russell taking fourth place ahead of Ferrari's Carlos Sainz and team-mate Lewis Hamilton finishing sixth.
Charles Leclerc, who crashed late in qualifying and started seventh on the grid, finished in seventh place with Frenchman Pierre Gasly of Alpine in eighth.