Craig was born in Formby, Lancashire, and educated at Charterhouse. He read philosophy at Trinity College, Cambridge, and was Reader in Philosophy at Cambridge from 1992 to 1998. He became Knightbridge Professor of Philosophy in 1998, a chair he held until his retirement in 2006. He is a Fellow of Churchill College. He edited the journal Ratio from 1988 to 1992.
Cricket career
From Charterhouse School he attended Trinity College, Cambridge. It was while at Cambridge that he made his first-class cricket debut for Cambridge University against Surrey at Fenner's. He made sixteen appearances in his debut season for the university and gained his cricket Blue. He also made the first of his two appearances for the Gentlemen against the Players in this season, as well as making his first-class debut for Lancashire against Nottinghamshire. He made three further appearances in total that season for Lancashire. His debut season was a resounding success, with 1,528 runs at an average of 42.44. He made five centuries and had a high score of 208 not out. For Cambridge University alone, he scored 1,342 runs at an average of 47.92, including a score of 105 in The University Match, and his unbeaten 208 against L.C. Stevens' XI. In 1962, Craig made sixteen first-class appearances for Cambridge University, scoring 1,158 runs at an average of 44.53. He once again appeared for the Gentlemen against the Players in its final fixture, as well as making a further two first-class appearances for Lancashire in that season's County Championship against Essex and Sussex. He appeared six times in first-class cricket for his native county, scoring 214 runs at an average of 21.40, though he only passed fifty once, making 89 against Nottinghamshire the previous season at the Town Ground, Worksop. His overall season first-class record stood at 1,151 runs at an average of 31.97, with a highest score of 151 not out. He continued to play for Cambridge University in 1963, making fewer appearances than previous seasons due to examination commitments. He made ten appearances, with his final first-class appearance coming against Oxford University in The University Match at Lord's. He performed less consistently than in previous seasons, scoring 424 runs at an average of 30.28, with a highest score of 87, one of three half-centuries. In total, Craig made 42 first-class appearances for the university, scoring 2,879 runs at an average of 39.98, with a highest score 208 not out among his seven centuries. Ultimately, Craig decided to pursue a career in academia rather than cricket. Mike Brearley, who played alongside him in the Cambridge University team, described him as "a better scholar and batsman than I was". The cricket writer John Arlott included Craig in a list of players he considered had the potential, had they continued with their cricket careers, to have played Test cricket. Despite the end of his professional cricket career, he did appear for Cambridgeshire in a single List A match against Oxfordshire in the 1st round of the 1967 Gillette Cup, scoring 12 runs before being dismissed by David Laitt. Cambridgeshire won the match by four wickets, but Craig didn't feature for the county again.