Roberts played 20 games for the Cheshire club during the second half of the 2006–07 season, before returning to the Football League with Accrington Stanley in summer 2007.
During the 2008–09 season, Roberts joined Stevenage on an initial one-month loan agreement, before signing permanently in January 2009 for an undisclosed fee.
[1][2] Roberts signed for Northern Premier League Division One club Leek Town on a two-month loan agreement in November 2003.
[11] Having been unable to establish himself as a regular in the Crewe first team, Roberts joined Conference National club Southport on loan.
[15] Roberts started one game for Chester in a 5–0 defeat at Carlisle United,[16] and did not play again for the Cheshire club subsequent to this match.
[13] Roberts was loaned out to Southport for a second time in March 2006,[17] making his second debut for the club in a 2–1 victory away to Forest Green Rovers, in which he was sent off in the 88th-minute for two bookable offences.
[23] He debuted for Northwich in a 3–1 away victory at St Albans City at Clarence Park,[20] and after playing in three matches, signed for the club on a permanent basis.
[20][25] Roberts returned to the Football League with Accrington Stanley on 3 July 2007, joining the club for a fee set by a tribunal.
[27] He returned to Northwich Victoria on loan on 28 March 2008, on a one-month agreement[28] and helped the club to Conference Premier safety towards the end of the season, scoring his only goal in a match against fellow relegation candidates Stafford Rangers on 5 April 2008.
[30] During the 2008–09 season, Roberts continued to play regularly in the centre of Northwich's defence, scoring once in a 3–2 home defeat against Weymouth in September 2008.
[34] After impressing Stevenage manager Graham Westley during his one-month loan agreement, Roberts signed for the club on a permanent basis.
[39] He also started in all seven of the club's FA Trophy run during that season, scoring twice and playing in the team's 2–0 victory against York City in the final on 9 May 2009.
Roberts scored his first goal of the 2009–10 season on his 50th appearance for the club, giving Stevenage the lead in a 3–1 victory against Salisbury City on 17 October 2009.
[43][44] He captained the team in their 2–0 victory against Kidderminster Harriers at Aggborough on 17 April 2010; the match that secured promotion to the Football League for the first time in the club's history.
[46] At the Football Conference's Annual Presentation Dinner, he was named in the Team of the Year, alongside fellow Stevenage defenders Ronnie Henry and Scott Laird.
Roberts captained the team in the club's first match in the Football League at the beginning of the 2010–11 season, playing the whole game in a 2–2 home draw with Macclesfield Town.
[58] Roberts scored a 20-yard volley in injury-time in a 2–2 Football League Trophy draw with AFC Wimbledon on 4 October 2011 to take the game to penalties, which Stevenage subsequently lost 4–3.
[63] He remained in the position for two further matches, a 1–1 draw at Scunthorpe United,[64] and a 4–2 home victory against Milton Keynes Dons,[65] until the appointment of manager Gary Smith allowed Roberts to concentrate solely on his playing role.
[66] Roberts played every minute of Stevenage's 56 games during the season, scoring seven goals from defence, with the club losing out in the play-off semi-finals.
[70][71] He captained the team in Stevenage's first game of the 2012–13 season, scoring the third goal in a 3–1 victory against AFC Wimbledon in the League Cup on 14 August 2012.
[90] Roberts played in all three matches, with the team keeping three consecutive clean sheets,[88][91][92] as Fleetwood won promotion to League One for the first time in the club's history after a 1–0 victory over Burton Albion at Wembley Stadium in the final.
[94][95] Roberts made his first league appearance of the season on 4 October 2014, playing the whole match as Fleetwood defeated Port Vale 1–0 at Highbury Stadium.
[106] He was subsequently replaced as captain by Luke Berry, with manager Shaun Derry stating "I've spoken to Mark and he's accepted it as a man.
[107] At the end of the season, Cambridge announced their released and retained list, stating that Roberts had been placed on the transfer-list with a year remaining on his contract.
[113] Having made no appearances for Cambridge in the opening weeks of the 2017–18 season, Roberts' contract with the club was cancelled by mutual consent on 24 August 2017.
[114][115] On the same day as his departure from Cambridge was announced, Roberts signed for fellow League Two club Forest Green Rovers on a one-year contract.
[116] Despite initially being a regular in the centre of defence for Forest Green, Roberts did not play in the first team from the start of 2018,[117] his last appearance for the club coming in a 2–0 defeat to Yeovil Town in the Football League Trophy on 9 January 2018.
[123] Roberts was appointed as club captain ahead of Warrington's next fixture away at Lancaster City, in what turned out to be their first victory of the season.
[2] Appointed as club captain at Stevenage, Fleetwood, Cambridge United and Warrington, his leadership skills have been highlighted as one of his main strengths.
[138] Roberts has stated he has a keen interest in "what goes on behind the scenes" in football, particularity at boardroom level, gaining his ACGP accreditation after enrolling himself in a corporate governance programme.