A youth team player at Hednesford Town, he turned professional at Blackburn Rovers in 2000. He spent the 2001–02 season on loan at Crewe Alexandra, Oldham Athletic, and Halifax Town. He then spent much of the 2002–03 season on loan at Swansea City, before he was allowed to join Northampton Town in summer 2003. He scored eleven goals for the club in 2003–04, though was sent out on loan to Rochdale in the latter half of the 2004–05 campaign after he found himself struggling with injury. He joined Barnsley in August 2005, and went on to score twelve goals in 2005–06, helping the club win promotion to the Championship via the play-offs. Released at the end of the 2006–07 season, he signed with Port Vale in June 2007. After five goals in 2007–08, he became the club's top-scorer for four seasons running with 11 goals in 2008–09, 22 goals in 2009–10, 20 goals in 2010–11, and 17 goals in 2011–12. He signed with Chesterfield in May 2012, and played for the club in the 2014 final of the Football League Trophy, before helping them to win the League Two title in 2013–14. He returned to Northampton Town in May 2014, and finished as the club's top-scorer for two consecutive seasons, helping Northampton to win the League Two title in 2015–16.
Overall, he has scored more than 100 goals in over 350 professional appearances. He has also represented England at under-18 and under-20 levels.
Richards started his professional career at Blackburn Rovers, but was on the books of Conference side Hednesford Town before moving to Ewood Park. He made his Rovers debut under manager Graeme Souness in a 2–0 defeat to West Ham United at Upton Park in the League Cup on 31 October 2000; he was replaced by David Dunn after 68 minutes.
He was taken on a one-month loan by Dario Gradi at First Division side Crewe Alexandra at the start of the 2001–02 season. There he scored his first career goal, in a League Cup victory against York City at Bootham Crescent on 21 August; his headed goal levelled the tie at 2–2 in extra-time, and he was subsequently booked for 'over celebrating', though this did not stop him going on to score the winning goal in the penalty shoot-out. He left Gresty Road with one goal in five games, and in October 2001 joined Andy Ritchie's Second Division Oldham Athletic in another one-month spell. He played six games for Oldham, scoring once against Tranmere Rovers in the Football League Trophy, again with a header. He spent two months on loan at Alan Little's Halifax Town from February 2002, but remained goalless in his five games for the struggling Third Division club.
In November 2002, he went out to Swansea City on loan for the rest of the season. Brian Flynn's "Swans" avoided relegation out of the Football League by just a single point, though Richards managed a respectable tally of seven goals in 17 games. He got his first league goal at Vetch Field on 30 November, again with a header, to wrap up a 2–0 victory over Shrewsbury Town. On 15 February, he scored twice against Cambridge United, and also had a goal disallowed for offside. He received his first sending off a week later, after reacting badly to a foul by Hartlepool United captain Michael Barron. After discovering he was released from his contract at Blackburn in April 2003, Richards aimed to sign with Swansea permanently, but instead signed a two-year deal with Northampton Town.
Though he scored twice at Sixfields in the FA Cup victory over non-league Weston-super-Mare, it took 27 games before he bagged his first league goal for the "Cobblers". The goal finally came on 17 February 2004, in a 2–1 win at Darlington. He then had one of the best games of his career on 27 March, when he scored all four goals of the game against Macclesfield Town within the opening 39 minutes. Struggling with illness, he scored in the play-off semi-finals against Mansfield Town, though his side crashed out on penalties. He ended the 2003–04 campaign with 11 goals in 52 games.
His second season at Sixfields was one blighted by injury. Picking up a knee injury in September 2004, he had recovered by November, but after making his return he ruptured his knee ligament, keeping him out of action for a further three months. In March 2005 he was returning to fitness, and so was loaned out to Steve Parkin's Rochdale to aid with his recovery. After two goals in five games he returned to the "Cobblers". Finding out he had no future at Northampton under Colin Calderwood, he had a trial with Bristol Rovers, before joining Barnsley in August 2005.
Described as "a young Neil Shipperley" by manager Andy Ritchie, his initial deal was short-term, so after fitting in well at the club he was offered an extension to his contract in December 2005. In 2005–06, Barnsley were promoted to the Championship through the play-offs. He started the play-off Final victory over Swansea City at the Millennium Stadium, before being taken off for Tommy Wright after 70 minutes. In total he played 41 of the "Tykes" 46 League One games during the campaign, and scored 12 goals.
In January 2007, he was due to sign with Port Vale, in part-exchange for Leon Constantine. However, he remained at Oakwell after the deal fell through. He was released from his contract in May 2007, despite making 37 appearances in the 2006–07 season.
In June 2007, Richards joined Port Vale on a two-year deal; he was one of manager Martin Foyle's last signings. He became the club captain and quickly established himself as one of the club's better players. Richards suffered with an ankle injury during the 2007–08 season. He recovered towards the end of the season and began to find his goalscoring form once again, though this was not enough to save Lee Sinnott's "Valiants" from relegation out of League One. At the end of the season the club were forced to accept a £100,000 bid from Cheltenham Town due a release clause in his contract, though chairman Bill Bratt rated him as a £300,000 player. Turning down the chance of a move, he instead signed a one-year contract extension to keep him at Vale Park until the summer of 2010. He went though a spell of injuries and suspensions during the 2008–09 season which caused him to miss almost twenty matches for Dean Glover's side. An Achilles injury picked up in late March kept him out of the team for the rest of the season. Despite this his eleven goals made him the club's top scorer.
He lost the captain's armband in the 2009–10 season, when new manager Micky Adams gave the armband to new signing Tommy Fraser, Richards being made vice-captain. However this did not seem to affect him in a negative way as he scored twice against Championship side Sheffield United to give Vale a shock 2–1 giant-killing victory in the League Cup First Round. With a winning goal over Darlington the following weekend he took his tally to four goals in five games. He was transfer listed in late September, along with the entire Port Vale squad, after manager Micky Adams saw his team slip to a third consecutive defeat. Despite five goals in his first fourteen games of the season, Richards was targeted by the 'boo-boys' at Vale Park after a few weak performances. He claimed to be 'gutted' by the fan's lack of faith in his commitment.
"Marc contributes because he holds the ball up well, he wins headers and brings other people into play, and he also scores goals. He may not have scored as many as he would like because every striker wants to score two or three a game. He's just got to work hard, because if you're not scoring goals I think the fans and management team want to see the players working their socks off. I've seen that from him all season and I don't think a lot of people understand how hard he works running those channels – and he gets battered from pillar to post."
The striker found his scoring form by the season's mid-way point. He managed to equal his previous season best tally of twelve goals by January 2010. Despite this he told the press that he did not take a fresh contract in May for granted, though Adams insisted that he would offer Richards a new contract. On 13 March, Richards scored his first professional hat-trick in six years, during a 5–0 win over Chesterfield at Saltergate; he scored with a lob, a long range strike with his left foot, and a header. He finished the campaign with a tally of 22 goals – more than double his tally for the previous season, and was the club's top scorer for the second consecutive season. Richards was eager to stay at the club, and signed a new contract to keep him in Burslem until the summer of 2012. Adams was confident Richards would sign, despite a lucrative offer from Carlisle United and interest from numerous League One and Scottish Football League sides.
Before the start of the 2010–11 season, Richards set himself a target of thirty goals. He quickly established a deadly strike partnership with new teammate, namesake Justin Richards. Sent off against Burton Albion at the start of January 2011, more damaging to Richards' golden boot hopes and Vale's promotion ambitions was news that he would be sidelined for six weeks with muscle tear in his thigh. With Fraser and Adams leaving the club, new boss Jim Gannon handed Richards the captaincy in February 2011. On 26 February, he marked his return from injury with a goal against Aldershot Town in a 2–1 win – his first goal in three months. On 29 March he scored his 100th career goal, helping Vale to beat Lincoln City 2–1. After hitting the twenty goal mark at the penultimate game of the season, Richards became the first Vale player to score twenty goals for two seasons running since Martin Foyle (the man who originally signed him for the club) in 1993–94 and 1994–95.
Despite only turning 29 weeks before the start of the 2011–12 season, the departure of namesake Justin Richards left him as the club's most senior professional. After scoring on the opening day against Crawley Town, Richards then spent a month on the sidelines with an ankle injury. He made his return to the starting eleven against Plymouth Argyle on 10 September, only to end up with a straight red card and three match ban for an incident with Warren Feeney, an incident the striker described as 'handbags'. He returned to the first team on 1 October for only his fourth appearance of the campaign, and bagged both of Vale's goals against Rotherham United. However, after a further six games he was sidelined again due to a recurrence of his ankle injury, and had to wait until December before he returned to action. The injury required surgery to fully heal, however Richards chose to postpone the operation in order to try to help the "Valiants" into an unlikely play-off spot. Despite the club entering administration in March, Richards refused the opportunity to jump ship to promotion hopefuls Crawley Town. The administrators also rejected a loan offer from Shrewsbury Town. He finished the season with 17 goals in 36 games, thereby becoming the club's top scorer for the fourth season in a row.
After weeks of speculation, Richards signed a two-year deal with Chesterfield in May 2012. Manager John Sheridan and Chief Executive Chris Turner persuaded Richards to make the switch to the League Two side after a multitude of meetings with the player and a large increase in wages. He had a poor start to the 2012–13 season, as the "Spireites" struggled to perform; he also spent six weeks out injured with ankle troubles. The club's fortunes began to improve though after Sheridan was sacked and replaced with Paul Cook. Richards also began to regain his form, and scored five goals in his last five games to end the season on 12 goals in 37 appearances.
On 30 March 2014, he played at Wembley Stadium after coming on as a substitute for Sam Hird in Chesterfield's 3–1 defeat to Peterborough United in the final of the Football League Trophy. He scored a total of eight goals in 46 games as the "Spireites" won promotion as divisional champions in 2013–14.
On 14 May 2014, Richards signed a three-year contract with Chris Wilder's Northampton Town after rejecting a new deal at Chesterfield. He said that he chose to stay in League Two because "I want to get as many promotions as I can before I hang my boots up". He enjoyed an excellent start to the 2014–15 campaign, going on a spell of seven goals in five games, but was then sidelined with hamstring problems. He scored 18 goals in 36 appearances to finish as the "Cobblers" top-scorer in the 2014–15 season despite having two months out with an Achilles tear, and was voted as the club's Player of the Year.
Northampton were promoted as champions in 2015–16 under manager Chris Wilder, giving Richards his second League Two title in three years. He finished as the club's top scorer with 18 goals in 37 appearances despite missing the second half of the season after undergoing surgery to correct another Achilles injury. Wilder stated that he believed Richards would have scored 30 goals during the campaign if he had not been sidelined with injury. Richards was reported to have advised chairman Kelvin Thomas to appoint Rob Page as Wilder's successor as manager in May 2016. He scored 13 goals in 46 appearances in the 2016–17 season, and signed a new one-year contract in May 2017 after manager Justin Edinburgh described him as "a captain, a leader and someone who helps set the dressing room tone".
He has been capped at England under-18 and under-20 levels. He scored in an under-20 international friendly against Finland on 76 minutes, after coming on as a substitute for Arsenal's John Halls on 57 minutes.
An accomplished set piece taker, he is also a goalscorer from open play and can also hold the ball up well for his teammates. In five years at Port Vale he scored 15 of his 20 penalties, a success rate of 75%.
Richards has three children (as of January 2015). He describes himself as a "laid-back guy". He won Soccer AM's Crossbar Challenge at Vale Park in 2009. He raised £502 for charity in November 2011.As of 14 May 2017.
IndividualNorthampton Town F.C. Player of the Year: 2014–15
BarnsleyFootball League One play-offs: 2005–06
ChesterfieldFootball League Two: 2013–14
Northampton TownFootball League Two: 2015–16