García-López commence sa carrière professionnelle en 2002, année durant laquelle il atteint deux finales du circuit Future. L'année suivante il profite d'une wild card pour faire ses débuts sur le circuit ATP, à Valence. Il atteint sa première finale d'un tournoi Challenger à Séville et remporte ses premiers titres Futures, en simple et en double.
En 2005, pour sa première participation à l'Open d'Australie, il réussit l'exploit de sortir au premier tour Carlos Moyà, alors 5e mondial, ce qui constitue sa plus grande victoire selon ses propres dires. Il termine l'année dans le top 100 pour la première fois.
Il faut attendre 2009 pour le voir remporter son premier tournoi ATP, à Kitzbühel. En 2010, il dispute et perd sa deuxième finale ATP à Eastbourne contre Michaël Llodra[1]. Au début d'octobre à Bangkok, il se qualifie pour la finale en réalisant un nouvel exploit, battant son compatriote numéro 1 mondial Rafael Nadal. Au cours du match, il sauve 24 balles de break sur 26 et convertit la seule opportunité qu'il a de ravir le service de Nadal[2]. Le lendemain, il bat en finale Jarkko Nieminen, remportant ainsi son deuxième titre en simple[3]. La même année, associé à son compatriote Albert Montañés, il remporte son premier tournoi ATP en double, à Doha.
Classé 136e mondial[5] quand il se présente à Roland-Garros en 2019, il s'incline au premier tour devant l'Argentin 75e mondial[5]Federico Delbonis en quatre sets (1-6, 6-3, 3-6, 2-6).
Contrairement à beaucoup de joueurs espagnols de sa génération, Guillermo García-López semble aussi à l'aise sur terre battue que sur les autres surfaces, puisqu'il a remporté deux de ses cinq titres en simple sur surface dure, et atteint une finale sur herbe.