MEXICO CITY: Ferrari's Carlos Sainz won the Mexico City Grand Prix on Sunday after Red Bull's Formula One leader Max Verstappen was twice punished for his driving against title rival Lando Norris and finished sixth.

McLaren's Norris was second to slash Verstappen's overall lead from 57 points to 47 with four rounds remaining, and Ferrari's Charles Leclerc was third with a bonus point for fastest lap.

Triple world champion Verstappen, who pitted from third place to serve two 10-second penalties on lap 27, had to fight back from 15th after starting on the front row with Sainz on pole position.

The Dutch driver had won five of the last six races in Mexico, including the last three editions, but has now not won for 10 races in a row.

The win was a first for Ferrari in Mexico since 1990 and fourth of Sainz's career.

ALSO READ: Sainz marches in with perfect Singapore drive to end Red Bull streak

“I really wanted to win this one. I needed it for myself. I said I wanted one more win for Ferrari and to do it here with this mega crowd is incredible,“ said the Spaniard, who is leaving for Williams at the end of the season.

Mercedes pair Lewis Hamilton and George Russell finished fourth and fifth respectively.

Haas had another good weekend with Kevin Magnussen seventh and Nico Hulkenberg ninth, with McLaren's Oscar Piastri sandwiched between in eighth.

Alpine's Pierre Gasly took the final point.

McLaren stayed top of the constructors' standings, but now only 29 clear of Ferrari.

TWO PENALTIES

Verstappen's behaviour was again the talk of the afternoon, with stewards taking a hard line against the champion for forcing Norris off the track after a controversial previous weekend in Texas where it paid off.

In Mexico as in Austin, it was the title duel with Norris that provided the sparks with the Briton forced wide in two separate incidents as he tried to take second place.

“I was ahead the whole way through the corner. This guy is dangerous,“ exclaimed Norris over the team radio after being forced wide at turn four on lap 10.

“It’s the same as last time. I’ll be in the wall in a minute.”

Norris cut a corner and tried to let Verstappen take back the place at turn eight but both went off and Leclerc seized his opportunity to pass them both.

ALSO READ: Verstappen cruises to sprint race victory at Miami Grand Prix

Stewards punished Verstappen for firstly forcing Norris off and then doing the same and gaining an advantage in the second incident.

“Ten? That’s quite impressive,“ said the 27-year-old when informed of the first penalty.

The safety car was deployed when RB's Yuki Tsunoda and Williams Alex Albon collided at the start, with the Japanese careering off backwards with his rear right tyre bouncing down the track.

Red Bull's home posterboy Sergio Perez was handed a five-second penalty for a false start after the Mexican, who swept from 18th to 13th, lined up beyond the front of the marked box on the grid.

That was just the start of a scrappy afternoon for Perez, who fought a series of battles to try and recover places but ended up 17th and last car running in front of a crowd of 154,142.

ALSO READ: F1 world champion Verstappen commits to Red Bull

Verstappen had seized the lead from Sainz down the long opening straight but his advantage did not last long once the safety car came in on lap six, with the Spaniard taking back the lead three laps later with the help of drag reduction (DRS).

Sainz finished 4.705 seconds clear of Norris, with Leclerc 34.387 behind his teammate after a late stop for fresh tyres to set the fastest lap.

Aston Martin's Fernando Alonso retired with a cooling and brake issue on the 15th lap of his record 400th Formula One race.