En 2003, David Villa se casó en La Felguera, Langreo, con Patricia González, su novia desde la adolescencia, con la que tiene tres hijos llamados Zaida, nacida el 7 de diciembre de 2005, Olaya, nacida el 18 de agosto de 2009, y Luca, nacido el día 28 de enero del 2013.