David Tennant a été proposé en tant que candidat possible pour reprendre le rôle du neuvième docteur dans la saison de Doctor Who qui a débuté en mars 2005, mais le rôle est finalement allé à Christopher Eccleston. Après l'annonce d'Eccleston le 30 mars 2005 qu'il ne reviendrait pas pour une deuxième saison, la BBC a confirmé que Tennant serait la prochaine incarnation du Docteur. Il a fait sa première brève apparition dans l'épisode : À la croisée des chemins (The Parting of the Ways, 2005) après la scène de régénération ; il est également apparu dans le mini-épisode spécial de 7 minutes diffusé pour l'émission Children in Need (trad. : Enfants dans le besoin), le 18 novembre 2005.
Il a joué le rôle du Docteur dans la deuxième, troisième, et quatrième saison de la série Doctor Who (2005). Il a cependant annoncé qu'il allait quitter la série fin 2009. Il continua donc d'incarner le personnage dans les quatre épisodes spéciaux programmés en 2009, puis il a été remplacé par le jeune acteur Matt Smith qui devient le onzième docteur.
David Tennant est aussi un comédien de théâtre reconnu. Il est sociétaire et l'un des principaux comédiens de la Royal Shakespeare Company. Il a joué jusqu'en 2009, le rôle titre de la pièce Hamlet.