Leon trailed 2-1 from the first leg but Matias Britos' first-half brace turned the tie on its head.
Cruz Azul's efforts to level it suffered a blow with Mariano Pavone's 79th minute red card for a second bookable offence, and Luis Delgado finished them off late on.
Morelia scored an away win over Club America, but their 2-1 victory was not enough to overcome a 2-0 first-leg deficit as they went out 3-2.
Joao Rojas puts the visitors in front just seconds in to the game, and although Raul Jimenez levelled in the 39th minute, Morelia again scored almost immediately after the restart with Miguel Sabah restoring their advantage.
But they could not find a third as Club America scraped through.