Né dans une famille d'origine italienne, David grandit à Philadelphie, en Pennsylvanie, avec son père, Dave Roberts, un météorologue bien connu de la télévision. A l'âge de sept ans, il décide d'être acteur. Il étudie à la Malvern Preparatory School pour garçons à Malvern, Pennsylvanie. Par la suite, il étudie le métier d'acteur à l'Université d'Ithaca à New York. Après avoir reçu ses diplômes de l'Université d'Ithaca et du Roy H. Park School of Communications en 1991, il se déplace à Los Angeles pour poursuivre sa carrière cinématographique.
En 1987, après quelques rôles sans crédits, il reçoit son premier rôle important en tant que petit ami de Kelly dans la série Mariés, deux enfants. En 1997, son rôle dans la série Buffy contre les vampires, de Joss Whedon le fait connaître du grand public. Il y joue Angel, un vampire avec une âme, amoureux de la tueuse. Son personnage a un tel succès qu'après trois saisons dans Buffy contre les vampires, il reprend le rôle dans le spin-off Angel de 1999 jusqu'en 2004.
David divorce d'avec sa première épouse Ingrid Quinn en 1999 qu'il avait épousée le 7 juin 1997.
En 2003, il joue le rôle d'un chef de gang satanique dans le film The Crow : Wicked Prayer et participe également au clip vidéo de White Flag de Dido.
En 2005, dans la nouvelle série de la Fox, Bones, il tient l'un des rôles principaux en compagnie de l'actrice
Emily Deschanel et campe le rôle de Seeley Booth, un agent du FBI. Il vit actuellement à Los Angeles, Californie avec son épouse
Jaime Bergman, ancienne playmate de Playboy, et leurs 2 enfants : Jaden Rayne (1er mai 2002) et Bardot Vita, née le 31 août 2009