Im Alter von fünf Jahren begann López mit seinem Vater Feliciano Tennis zu spielen. Auf Juniorenebene konnte er bereits einige Erfolge vorweisen, 1997 wurde er Profi.
Im Februar 2010 gewann er in Johannesburg seinen zweiten Titel auf der ATP World Tour, als er den Franzosen Stéphane Robert im Finale mit 7:5 und 6:1 bezwang. Seine Einzeltitel Nummer drei und vier gewann er beide auf Rasen, 2013 und 2014 in Eastbourne. Seine höchste Weltranglistenposition erreichte er im März 2015 mit Platz 12.
Für die spanische Davis-Cup-Mannschaft hat López seit 2003 29 Partien bestritten, von denen er 12 gewinnen konnte (Einzel 4:8; Doppel 8:9).
Obwohl López nie zu der absoluten Weltspitze gehört hat, sind ihm eine Reihe Rekorde und beachtlicher Leistungen gelungen, da er über lange Zeiträume ohne größere Verletzungen an Turnieren der ATP Tour teilnahm. Nur wenige Spieler haben länger professionell Tennis gespielt als er.
López hält den Rekord für die längste unterbrechungslose Teilnahme an allen Grand-Slam-Turnieren. Zwischen den French Open 2002 und den Australian Open 2022 bestritt er 79 Grand-Slam-Turniere in Folge, bei den French Open 2022 schied er in der Qualifikation aus und die Serie endete. Zudem stand er als einziger Spieler mindestens 20 Mal im Hauptfeld bei jedem Grand-Slam-Turnier. Wegen seiner zahlreichen Teilnahmen an Turnieren der ATP Tour hat kein Spieler mehr Spiele im Einzel verloren als López. 2019 siegte er beim Queen’s Club sowohl im Einzel als auch im Doppel. Er war der älteste Spieler seit 1975, dem dies bei einem Turnier der Tour gelang. Vom 8. Juli 2002 bis 22. April 2019 war er 828 Wochen lang durchgehend in den Top 100 der Weltrangliste. Nur Roger Federer, Rafael Nadal und Novak Đoković können längere Zeiträume vorweisen. Er hat 38 Siege über Spieler in den Top 10 der Weltrangliste errungen – mehr als jeder andere Spieler, der selbst nie in den Top 10 war.[1] Nach dem Turnier in Mallorca beendete López im Juni 2023 seine Karriere, sein letztes Match verlor er im Viertelfinale gegen Yannick Hanfmann in zwei Sätzen.[2]