Ha jugat la major part de la seva carrera amb el RCD Espanyol, amb 225 partits en dues tongades. També va estar dos anys jugant a Itàlia al SSC Napoli.
David López va tornar a l'Espanyol el juny de 2010, i va debutar amb el primer equip a La Liga el 26 de setembre, entrant com a suplent als darrers minuts en una victòria a casa per 1–0 contra el CA Osasuna.[3] De tota manera, va continuar jugant regularment amb l'equip B.
El 16 de juny de 2013, López retornà a l'Espanyol després que els Pericos executessin la clàusula de recompra del seu contracte.[6] Va marcar el seu primer gol a la màxima categoria el 24 d'agost, el primer del seu equip en una victòria per 3–1 a casa contra el València CF.[7]
Napoli
El 31 d'agost de 2014, la S.S.C. Napoli va fitxar David López amb un contracte per cinc anys.[8][9] Va debutar a la Serie A el 21 de setembre, jugant els 90 minuts i veient una targeta groga en una derrota per 0–1 contra l'Udinese Calcio.[10]
Després de dues temporades a Itàlia (a la primera el jugador va competir força minuts, però amb l'arribada de l'entrenador Maurizio Sarri el migcampista va perdre importància en els esquemes de l'equip. Finalment, el 26 d'agost de 2016 es feia oficial el seu retorn al RCD Espanyol per quatre temporades a canvi de 4 milions i mig d'euros.[12]
Retorn a l'Espanyol
El 26 d'agost de l'any 2016, David va tornar a l'Espanyol amb un contracte per quatre anys.[13] Durant la majoria del temps va ser usat per Quique Sánchez Flores com a defensa central[14][15] i, jugant en aquesta posició, va marcar en una derrota per 1–4 al Camp Nou contra el FC Barcelona el 18 de desembre.[16]
L'agost de 2018, López va ampliar contracte fins al 2023.[17] Va marcar quatre gols, el seu màxim en una temporada a primera la campanya 2019–20, però l'equip va descendir de categoria;[18][19] va marcar el primer el 4 de gener en un empat 2–2 amb el FC Barcelona a l'RCDE Stadium.[20] El 23 de febrer, fou expulsat per primer cop amb el club, després de veure dues grogues en els primers 25 minuts en un partit que acabà en derrota per 2–1 contra el Reial Valladolid.[21]
López va jugar habitualment amb l'Espanyol la temporada 2020-21 a segona en què l'equip va acabar campió i ascendint.[22] Va marcar un gol aquella temporada, el de l'empat en una victòria per 3–1 contra el CE Castelló el 26 de març.[23] El 9 de juny de 2022, després d'un any complicat per les lesions, l'Espanyol va fer oficial que no renovaria el jugador per a la temporada següent. David López s'acomiadava del club de la seva vida després de comunicar-li que no renovarien el seu contracte.[24]
Girona FC
David López va fitxar el 25 de juliol de 2022 pel Girona FC, amb contracte per dos anys.[25]
Internacional
López ha disputat un partit amb la selecció catalana el 30 de desembre de 2013, com a suplent en una victòria per 4–1 sobre Cap Verd.[26]