Keith served with the Royal Marines before pursuing a career in local government administration, where he was also an active trade union representative with UNISON. He is a graduate of Dundee University and studied at the University of Prince Edward Island.
Keith has been a Member of the Scottish Parliament since 2007 and is currently the constituency MSP for Clackmannanshire and Dunblane. Before his election he served for 11 years as a councillor in Clackmannanshire, and held the post of Council Leader from 1999 to 2003.
He became Minister for Skills and Lifelong Learning in February 2009 and has since held a number of ministerial roles before becoming Minister for Transport and Veterans in September 2012 and Cabinet Secretary for Infrastructure, Investment and Cities in November 2014. From May 2016 until June 2018 he held the post of Cabinet Secretary for the Economy, Jobs and Fair Work and veterans affairs.
In 2018, Keith was elected Depute Leader of the SNP.
Having been re-elected to represent the Clackmannanshire and Dunblane constiutency in the 2021 Holyrood election, Keith was appointed as the Scottish Government's Cabinet Secretary for Justice.