David spent much of his childhood in Sierra Leone where his father worked, before being sent home to be educated at Crofton House in Dumfriesshire in Scotland.
He won a scholarship to Merchiston Castle School in Edinburgh, but was forced to leave education at the age of 16 when his father was declared bankrupt.
In 1983 he had a lead role as the newsreader in the feature film The Ploughman's Lunch, and was Lieutenant Colonel Vernon Erskine-Crum in the serial Lord Mountbatten: The Last Viceroy.
In the original BBC version of the political thriller House of Cards (1990), he played the "thoroughly decent"[2] Prime Minister Henry Collingridge, opposite Ian Richardson as the Machiavellian Francis Urquhart.
He was also a familiar face on series such as The Bill, Lovejoy, Taggart, Holby City, Midsomer Murders, Silent Witness, and Poirot.