Craig was a talented midfielder who started his playing career at Aberdeen. In 1969 Sheffield Wednesday paid £100,000 for his services, a club record transfer fee at the time, as well as a British record for a teenager. Craig was a favourite with the fans during his time at Hillsborough and was seen by many as the highlight of what was a poor Sheffield Wednesday team. Craig scored 37 league goals for Wednesday, including many from the penalty spot. During his time at the club, Wednesday were relegated from the top flight following Craig's first full season, and they continued to struggle in Division Two, finally being relegated again shortly after he left for Newcastle United in 1974.
After leaving Newcastle he went on to join Ron Saunders' Aston Villa, however, his relatively unsuccessful stay was short lived as Saunders was clearing the decks in order to turn Villa into the Championship and European Cup winning force of the early 1980s. He subsequently moved on to Swansea City, Carlisle United and Hibernian before becoming a coach.
Craig spent time as a first team coach of Newcastle United, until he was released in September 2006. He was then chosen by John Collins to be his assistant at Hibernian. Following Collins' resignation, Craig acted as the caretaker manager for four games, but he left the club following the appointment of Mixu Paatelainen as manager. Craig joined Charleroi as assistant coach to John Collins in December 2008. On 20 November 2009, he was appointed as head coach of Charleroi. He signed a one year and a half contract. Despite this contract, Craig was sacked by Charleroi on 14 April 2010.