David’s first entry to elected politics was in 2001 when he contested the Westminster election in Upper Bann against the then UUP leader David Trimble. As a first time candidate David managed to push the sitting MP and First Minister close, cutting his previous 9,000 majority to around 2,000. In 2001 David was also elected to Craigavon Borough Council, topping the poll in the Portadown area.
David was a member of Craigavon Borough Council from 2001 until he stepped down in 2010, and during this period he served as Mayor of the Borough in 2004/05.
In 2003 David was elected to the Northern Ireland Assembly representing Upper Bann, and was re-elected in 2007. Between 2001 and 2010 when he stepped down from the Assembly David served as a member of the Northern Ireland Policing Board and also as Chairman of the Social Development Committee.
David was re-elected to Westminster in the General Election of 2010 and again in 2015.