DOWNLOAD OUR APPS
Ferrari's pole-sitter Charles Leclerc took second with Max Verstappen in third to keep his lead in the drivers' championship ahead of Sunday's main event.
Leclerc is on pole again for the fourth round of the season but judged on this display he will have his work cut out again to clip the Red Bulls' wings.
Perez was adding the first of six sprint races in 2023 to his win in the Saudi Arabian Grand Prix, with Verstappen taking the season-opener in Bahrain and last time out in Melbourne.
In the drivers' championship Verstappen leads on 75 points from Perez on 62 with Leclerc picking up seven points - more than he's earned in the three races run so far.
Leclerc fended off Perez in the short run to the first corner as Verstappen complained after being outmuscled by Russell at turns two and three.
Verstappen complained that the Mercedes driver had damaged his car and the pair had words after the race.
Yuki Tsunoda's AlphaTauri then lost a rear tyre which nonchalantly rolled its way down the straight, coming to a stop eventually at turn 16 as the safety car came out.
The safety car came in on lap six of 17, Leclerc keeping his lead on the restart, with Verstappen taking back third place from Russell.
With 10 laps to go Perez picked off Leclerc, Red Bull's straight line speed helping the Mexican sweep past the Ferrari.
Perez picked his way safely around the tricky circuit over the closing laps for a comfortable win.
Alpine's wretched weekend continued meanwhile with Esteban Ocon forced to start from the pitlane having qualified in seventh after changes to his car.
And Williams were forced to pull out Logan Sargeant blaming not enough time to repair the American rookie's car following the morning's crash in qualifying.