Comenzó a jugar a la edad de seis años junto a su hermano Toni Moya.
En 1996, entró en el top 20 de la ATP por primera vez. Acabó 1997 como mejor español y en el top 10 por primera vez en su vida. Además, se convirtió en el primer español en alcanzar la final del Abierto de Australia desde Andrés Gimeno en 1969. En 1998 ganó su primer título de Grand Slam derrotando a Álex Corretja en la final de Roland Garros. En 1999 (el 15 de marzo) se convirtió en el primer español en situarse como número 1 del ranking de la ATP desde 1973, donde se mantuvo dos semanas.
Formó parte del equipo español que ganó la Copa Davis del 2004, final que se disputó en el Estadio Olímpico de la Cartuja (Sevilla), en la que tuvo un papel destacado, obteniendo dos de los tres puntos para España, ganando el primer punto ante Mardy Fish y consiguiendo la victoria decisiva contra Andy Roddick, logrando así la segunda Ensaladera de Plata en la historia del tenis español.
Tras varias temporadas manteniéndose entre los 20 primeros del ranking ATP, en 2006 sale del selecto grupo de jugadores y decide cambiar de entrenador para retomar su juego agresivo y terminar su carrera siendo un jugador competitivo. Luis Lobo, su nuevo entrenador, se convierte así en protagonista de la remontada de Carlos Moyá en el ranking hasta recuperar posiciones y ubicarse en el Top 20 en 2007.
Jugo también torneos exibicion novedosos como el Betfair turbo tennis, celebrado en Zaragoza junto a Nadal.
En 2005, donó el premio obtenido por ganar el torneo de Madrás, a las víctimas del Terremoto del Océano Índico de 2004. Se encuentra actualmente en el puesto 41 del mundo.
Además es uno de los 8 jugadores de entrada que aparecen en los juegos Virtua Tennis y Top Spin.
En 2009 fue operado en la cadera debido a una lesión, hecho que le está apartando de las pistas de manera indefinida. En 2010 volvió al circuito con su nuevo entrenador, el madrileño Pepo Clavet.