Foss was born on 4 July 1963 in Lower Hutt, the son of Raymond Foss and Rosemary Dwyer. He attended Victoria University of Wellington, completing a BCA. He worked in the banking sector. He was Chief Dealer for the Bank of New Zealand. Subsequently, he worked for Credit Suisse Financial Products as Interest Rate Risk Manager in London and Tokyo.
In the 2002 election, Foss first contested the Tukituki electorate, but was beaten by Labour's incumbent, Rick Barker, by a large margin. His list ranking at 47th place was not high enough to enter Parliament.
Foss contested the same electorate in 2005, this time ranked 44th on the party list, and managed to defeat Barker; he thus won the Tukituki seat and entered Parliament. He was returned to the 49th Parliament with a greatly increased majority in the 2008 election. His majority increased to nearly 10,000 votes in the 2011 election. In the 2014 election, his majority dropped to 6,490 votes.
On 8 June 2011, Foss became Minister of Civil Defence, replacing John Carter who left to take up a High Commissioner post in the Cook Islands. He remained in that role until 14 December 2011, when he was succeeded by Nikki Kaye.
At the same time, Foss also picked up the Racing and Senior Citizens portfolios but remained a Minister outside Cabinet for the remainder of the 49th New Zealand Parliament. He also relinquished those ministerial roles on 14 December 2011, with Jo Goodhew succeeding him as Minister for Senior Citizens.
Foss lost those various ministerial roles on 14 December 2011 to become Minister of Commerce from then, a position he held until 6 October 2014.
Foss was most recently Minister for Small Business, Minister of Statistics, Minister of Veteran's Affairs, Associate Minister of Immigration, and Associate Minister of Transport. He reliqunished these portfolios on 20 December 2016.
On 14 December 2016, Craig Foss announced that he will quit politics at the 2017 general election.
Foss owns a small farm and some tourist accommodation.