Morales speelde in eigen land bij Club Atlético Platense (1996-1997), Basañez (1997-1999) en Nacional Montevideo (1999-2002). In 2002 werd hij gecontracteerd door het Spaanse CA Osasuna. Bij deze club speelde Morales tot 2005, waarna hij vertrok naar Málaga CF.
Morales scoorde twee keer in de kwalificatiewedstrijd voor het WK 2002 tegen Australië, waardoor Uruguay zich plaatste voor het toernooi in Zuid-Korea en Japan. Op het WK speelde Morales de tweede helft van de laatste groepswedstrijd tegen Senegal (3-3) als vervanger van Sebastián Abreu. Hij scoorde onmiddellijk na zijn invalbeurt.