Morales made his international debut for the Mexico national team on 12 July 2001, playing against Brazil. Morales played for Mexico at the 2002 FIFA World Cup in Korea-Japan, where he appeared in four matches. He also played in the 2004 Copa América where he scored a freekick goal for Mexico's first official win over Argentina. The game ended 1–0 in favor of Mexico. He also played four games in the 2005 Confederations Cup, in Germany and five games in Mexico's qualification matches for the 2006 World Cup. Morales played in three matches in the 2006 FIFA World Cup. He scored a freekick in Mexico's 2–0 win over Brazil in the first round of the Copa América.