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 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.”