David erblickte das Licht der Welt als das jüngstes von 4 Kindern in Liverpool, wo er auch aufwuchs.
Seine Karriere startete er am Everyman's Youth Theater in Liverpool. Sein Debut im Jahr 1983 mit dem Stück "One Summer" verlief günstig und das Stück erhielt zwei Verlängerungen.
Daraufhin studierte er an der RADA (Royal Academy of Dramatic Art) und arbeitete Seite an Seite mit der Theater-Gesellschaft. Außerdem arbeitete er auch am Royal Exchange and National Theater in Manchester.
David ist seit 2006 mit der Schriftstellerin Esther Freud (Urenkelin von Sigmund Freud) verheiratet und hat 2 Kinder.
2008 spielte er die Rolle des Jackson Lake im Weihnachtsspecial "The Next Doctor" von Doctor Who des Jahres 2008.