David Morse débute sur les planches en 1971 dans le Boston Repertory Theater, juste après avoir quitté le lycée. Il joue dans une trentaine de pièces avant de s'installer à New York en 1977.
Son grand début à l'écran a lieu au début des années 90. Il joue le frère de Viggo Mortensen dans The Indian runner (1991) de Sean Penn, qu'il retrouvera cinq ans plus tard avec Crossing Guard. David Morse se spécialise dans les rôles de méchant : il excelle ainsi dans Guet-apens (1993), L' Armée des 12 singes (1995) ou les thrillers Rock et Au revoir, à jamais (1996).
Après avoir joué le père de Jodie Foster dans Contact, il passe de l'autre côté de la loi, successivement inspecteur de police dans Négociateur et gardien de prison dans La Ligne verte dans lequel il seconde Tom Hanks. Si David Morse poursuit sa carrière dans des films d'aventures comme Piégé où L' Echange, il apparaît aussi en 2000 dans Dancer in the Dark chez Lars von Trier.
2006 marque son retour au cinéma à travers deux films : Down in the valley où il joue le père de Evan Rachel Wood, et 16 blocks qui marque ses retrouvailles avec le cinéma d'action et les rôles de grand méchant.
Dans la seconde moitié des années 2000, Morse se spécialise dans le thriller. Il est ainsi surveillé nuit et jour par Shia LaBeouf dans Paranoiak, de D.J. Caruso puis participe à Shanghai, aux côtés de John Cusack. Sa rencontre avec le réalisateur Rodrigo Garcia lui permet de changer de registre le temps de deux films : le mystérieux Les Passagers avec Anne Hathaway, et le drame Mother & Child (2010). Il revient néanmoins à son domaine de prédilection, l'action, avec Drive Angry, et Nicolas Cage.