Miguel Sabah and Gerardo Lugo scored early, and Morelia held on without much trouble to become the first team to book its place in the semifinals of Mexico's Apertura playoffs.
Joel Huiqui made his return to the Morelia lineup after missing the first leg through injury, with Tomas Boy fielding an otherwise familiar lineup. Fausto Pinto missed out for Cruz Azul through suspension, meaning Alejandro Dominguez and Nestor Araujo got the start in the center of defense.
Villa nearly opened the scoring in spectacular fashion, with his overhead kick sailing just wide of Federico Vilar's goal just four minutes in as Cruz Azul pressed hard from the start, looking to level the aggregate score.
Just as Morelia's defense looked like it might crumble, though, the visitors did themselves a favor. Lugo showed great patience to filter through a ball to Sabah, who was left with a comfortable finish to give his side a 3-1 aggregate lead in the 16th minute.
If the first goal wasn't enough, Morelia stunned the Estadio Azul five minutes after the opener. Aldo Leao found Lugo with a first-time layoff from a ball over the top and Lugo rifled it past Jose de Jesus Corona to all but assure Morelia a place in the semifinals with plenty of time to play.
Cruz Azul continued to pour forward undeterred, and was unfortunate not to score just after the half hour mark. Morelia's defense was caught a step behind on a free kick, allowing Javier Orozco to control with his chest and fire a shot at the top corner, only to see it clip the post and go out for a goal kick.
The home side finally got its lifeline in the 37th minute. Javier Aquino served up a cross that barely found its way to Villa at the far post, leaving the Argentine to tuck it away.
The goal clearly gave Cruz Azul some belief, and soon after, Aquino and Villa nearly combined again, with Morelia thanking Enrique Perez after he cleared Villa's sliding finish off the line.
Cruz Azul manager opted to replace the streaky Villa at halftime with Edixon Perea, and the Colombian nearly paid immediate dividends, his mazy run resulting in him smashing a shot off the hands of Vilar.
Perea continued to drive Cruz Azul forward, and on 64 minutes he filtered a ball through to give Javier Orozco a golden chance to pull another goal back, but Vilar came up with an important save.
While Morelia threatened with the occasional counter, the game was largely played in the visitors' own half, but they did not break down. Vilar was at least partly to thank, making a difficult two-handed save on an Alejandro Dominguez header.
Immediately after, though, Cruz Azul's hopes of advancing took a mortal blow as its captain, Gerardo Torrado, was shown a second yellow card for upending a Morelia player. The ejection left a big hole to fill in the middle of the field, with the home side having used all of its substitutions.
Cruz Azul couldn't seriously threaten Vilar's goal after the sending off, leaving Morelia to celebrate its second consecutive semifinal appearance.