Mexico captain Rafael Marquez, appearing at his fourth finals, broke the deadlock after 72 minutes at the Arena Pernambuco before Andres Guardado and Javier Hernandez added further goals to cement a place in the knockout phase.
They will play Netherlands in the next round.
Mexico needed just a point to assure their progression and midfielder Hector Herrera was desperately unlucky to see 25-yard strike cannon back off the crossbar on the quarter-hour.
Mexico also had a penalty appeal for a handball against Darijo Srna turned down in the second half. But Croatia were eventually undone as Marquez rose highest to head home a corner from Herrera.
Mexico doubled their lead on 75 minutes as Guardado steered home after he was picked out in the box by Oribe Peralta.
Substitute Hernandez then ghosted in unmarked to nod in a header at the far post as Miguel Herrera’s men picked apart a ravaged Croatia defence at will.
Croatia did pull one back through Ivan Perisic three minutes from time while substitute Ante Rebic was sent off in the dying stages for a wild lunge on Carlos Pena.
Mexico finished second in Group A with seven points, behind hosts Brazil on goal difference. They will face the Dutch, winners of Group B, for a place in the quarter-finals.