Match ends, Croatia 1, Mexico 3.
Mexico booked a last-16 tie against the Netherlands after knocking Croatia out of the 2014 Fifa World Cup.
The Croats, who knew a win would put them through, survived a scare when a Hector Herrera strike hit the crossbar.
But Rafael Marquez headed in for Mexico before Andres Guardado drove in a shot and Javier Hernandez nodded home to put them 3-0 up.
Ivan Perisic scored for Croatia, whose misery was compounded when Ante Rebic was sent off late on.
It was an accomplished display from the North Americans, who nullified Croatia's threat before imposing their authority on the Group A game.
A draw would have been enough for Mexico, but they made sure of a seventh knockout stage appearance in the last eight tournaments with a victory.
In contrast, Croatia crumbled in the latter stages and have now been eliminated at the group stage in four of their last five major tournaments.
Croatia playmaker Luka Modric had claimed Mexico benefited from a "great deal of luck" in their draw with hosts Brazil, but it was the Real Madrid midfielder's side who enjoyed the early fortune at the Arena Pernambuco in Recife.
Following Mexican defender Paul Aguilar's last-ditch header to stop striker Mario Mandzukic nodding in, the Aztecs went up the other end and twice went close.
Midfielder Herrera let fly from 25 yards and was only denied when his left-foot strike came crashing back off the crossbar, while team-mate Oribe Peralta was played through only to mis-time his effort and shoot wide.
Croatia's threat was being contained and one of the rare opportunities that came their way involved Perisic latching onto a knockdown and shooting wide.
Niko Kovac's side had to take more risks the longer the game progressed and, despite showing more urgency after the break, Mexico comfortably quelled them.
Kovac brought on midfielder Mateo Kovacic for defender Sime Vrsaljko as he tried to improve his side's chances of scoring but it was Mexico who made the breakthrough.
Just moments after they had a penalty claim waved away following Srna's hands blocking a shot from Guardado, Mexico took the lead when Marquez powered in a header from a corner.
Shortly afterwards, Oribe Peralta set up Guardado to fire a shot high into the net and double the advantage.
Then Manchester United striker Javier Hernandez ended his 11-game goal drought when he nodded in at the far post after a Marquez flick-on to put Mexico out of reach.
Perisic drove in a low effort as Mexico conceded their first goal of the finals but it was little more than a consolation as Croatia's Rebic was dismissed for a crude challenge on Carlos Pena.
Mexico coach Miguel Herrera:
"We overcame the first hurdle. We're happy.
"That is one of the happiest days of my life. It was a hard fight, but my team pulled through. We felt as if we were playing at home in Mexico.
"We're going to celebrate tonight but tomorrow we have to start thinking of our match with the Netherlands."
Croatia coach Niko Kovac:
"It's a moot point whether we should have kept it 0-0 until the last 10 minutes and then go all out on the attack. We decided to attack earlier, but it wasn't successful.
"We kept the game open for a long time, but two corners decided the game.
"We weren't bad but the opponent was better."
- 2VrsaljkoSubstituted forKovacicat 58'minutes
- 3PranjicSubstituted forJelavicat 74'minutes
- 7RakiticBooked at 9mins
- 18OlicSubstituted forRebicat 69'minutesBooked at 89mins
- 19Cruz Campos
- 22da Silva
- 4MárquezBooked at 39mins
- 23VázquezBooked at 66mins
- 19PeraltaSubstituted forPeñaat 79'minutes
- 10G dos SantosSubstituted forHernándezat 62'minutes
- 18GuardadoSubstituted forFabiánat 84'minutes
- 1J Corona
- Ravshan Irmatov
- Shots on Target
Second Half ends, Croatia 1, Mexico 3.
Foul by Dejan Lovren (Croatia).
Javier Hernández (Mexico) wins a free kick in the attacking half.
Offside, Croatia. Ivan Perisic tries a through ball, but Mario Mandzukic is caught offside.
Attempt saved. Ivan Perisic (Croatia) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Ivan Rakitic with a cross.
Ante Rebic (Croatia) is shown the red card.
Foul by Ante Rebic (Croatia).
Carlos Peña (Mexico) wins a free kick in the defensive half.
Foul by Nikica Jelavic (Croatia).
Rafael Márquez (Mexico) wins a free kick in the defensive half.
Goal! Croatia 1, Mexico 3. Ivan Perisic (Croatia) left footed shot from a difficult angle on the left to the bottom right corner. Assisted by Ivan Rakitic.
Corner, Croatia. Conceded by Carlos Peña.
Corner, Croatia. Conceded by Héctor Moreno.
Attempt blocked. Marco Fabián (Mexico) left footed shot from outside the box is blocked.
Substitution, Mexico. Marco Fabián replaces Andrés Guardado.
Foul by Ante Rebic (Croatia).
Javier Hernández (Mexico) wins a free kick on the right wing.
Goal! Croatia 0, Mexico 3. Javier Hernández (Mexico) header from very close range to the bottom left corner. Assisted by Rafael Márquez with a headed pass following a corner.
Corner, Mexico. Conceded by Darijo Srna.