After Canada came the Autodromo Hermanos Rodriguez in Mexico City and Berger qualified on pole position with Patrese beside him and Senna third, Mansell fourth, Boutsen fifth and Alesi sixth. At the start, Patrese and Berger jumped Senna while Piquet got ahead of Boutsen and Mansell. Early on, Senna passed Patrese and Berger followed him through. Patrese was dropping back and Piquet got by him as well. Boutsen was the next to go through but at the same time Berger had a problem with his tyre and was forced to stop and dropped to 12th position. Senna lead from Piquet, Boutsen, Patrese, Mansell and Prost.
Soon, Mansell passed Patrese and got Boutsen four laps later as Prost did the same to Patrese. Prost sneaked ahead of Boutsen as Mansell closed in on Piquet. Mansell got ahead on lap 36 and Prost followed him through six laps later. Piquet soon stopped and dropped behind Nannini, Boutsen (who already stopped) and Berger. Berger passed Boutsen on lap 47 and Nannini four laps later. Prost passed Mansell on lap 55 and they began to close in on Senna. Prost, passed Senna followed by Mansell. Then Mansell spun but at the same time Senna got a puncture that let to him retiring in the pits 4 laps before the end and allowing Berger to get third and close in to Mansell. With a daring move Berger passed Mansell but Mansell charged back and attacked taking back second place after making an even more daring pass around the outside of Berger at the fastest corner on the track, the 180-degree Peraltada corner. Prost won with Mansell second making it a Ferrari 1–2 ahead of Berger, Nannini, Boutsen and Piquet.