Englands Jude Bellingham satte två mål inom 98 sekunder och tog därmed sitt lag till en 2–0 ledning. Mexiko hann dock reducera innan den första halvleken var slut.
Både England och Mexiko fick var sin straff i den andra halvleken, där Harry Kane och Raúl Jiménez båda lyckades få in bollen i nät. Jiménez satte slutresultatet 2–3 när det var runt 20 minuter kvar av ordinarie speltid.
– Vi gav allt där ute, var och en av oss. Vi behöver ta in det här, nu är det full fart framåt, säger Englands förbundskapten Thomas Tuchel.
England möter Norge i kvartsfinalen.
Åttondelsfinalen mellan länderna flyttades fram en timme på grund av åskoväder och regn som drog in över Mexico City, där matchen spelades.
Läs mer:
Haaland sänkte Brasilien – Norge vidare
Här är historiens tio största VM-skrällar




