He began his career with Portsmouth, before joining Scunthorpe United in March 1988. He played 132 league matches for the club, as Scunthorpe suffered numerous play-off defeats, before he was sold to Port Vale in July 1992 for a £17,500 fee. He spent the next eight years with Vale, and played 312 league matches in what one of the most successful periods in the club's history. He kept goal in the 1993 Football League Trophy Final victory and helped the club to win promotion out of the Second Division in 1993–94. In August 2000, he joined Sheffield Wednesday, before moving on to Hull City the next month. He helped the club win promotion out of the Third Division in 2003–04, before he returned to Scunthorpe in June 2004. He helped Scunthorpe to win promotion out of League Two in 2004–05, before he dropped into the Conference South in May 2006 to sign with Eastleigh. He spent brief spells at Kettering Town, Port Vale, and Harrogate Town, before he kept goal for Gateshead as the club won promotion from the Northern Premier League Premier Division to the Conference Premier after two successive play-off successes. He then took up coaching with Lincoln City between 2009 and 2011, before switching to York City in June 2011. He was on the bench for York as they won the 2012 Conference Premier play-off Final.
Born in Portsmouth, Hampshire, Musselwhite started his career at his hometown club, Portsmouth, as an apprentice in the club's youth system before signing a professional contract on 1 December 1986. However, he did not make any appearances for the club in the first team, and on 21 March 1988 moved to Fourth Division club Scunthorpe United on a free transfer.
In the 1987–88 season, Scunthorpe finished one point short of Bolton Wanderers in third place, and were then defeated by Torquay United in the play-off semi-final. Scunthorpe also moved from the Old Showground to Glanford Park, becoming the first Football League club to move to a new stadium in 33 years.
They suffered the same fate in 1988–89, one point off third place Crewe Alexandra, again with superior goal difference, before losing to Wrexham in the play-off semi-final. Musselwhite made 52 appearances across the campaign, as named as the club's Player of the Year. Scunthorpe fell away in 1989–90, finishing in 11th place. They pushed for promotion in 1990–91, in an unusual season an eighth-place finish was enough to see them into the play-offs. However, for the third time in four years they lost in the semi-final stage, this time to Blackpool.
In 1991–92, Scunthorpe beat Crewe in the play-off semi-final, but lost on the final to Blackpool on penalties, following a 1–1 draw. On 30 July 1992, he did what his club failed to do and made it into the new Second Division (the league was restructured due to the creation of the Premier League), having been bought by John Rudge's Port Vale for a £17,500 fee.
Signed to replace the veteran Mark Grew, who had left for Cardiff City, Musselwhite started 1992–93 as second choice behind Trevor Wood. However, on 5 September 1992, Wood conceded a penalty at Vetch Field in an 'off the ball' incident with a Swansea City player and was subsequently dropped in favour of Musselwhite. He made his Vale league debut in the next match, a 2–2 draw against Exeter City on 12 September 1992, and despite a nervy performance, he remained an ever-present in the team for the rest of the season. Vale finished the season one point behind Bolton in third place, and they lost in the play-off final 3–0 to West Bromwich Albion. Vale did have success at Wembley Stadium in the 1993 Football League Trophy Final, recording a 2–1 victory over Stockport County.
With Musselwhite in goal, Vale won promotion to the First Division in 1993–94, finishing in second place behind champions Reading. Both club and goalkeeper adapted well to the second tier, finishing 10 points above the relegation zone in 1994–95. When they played away against Charlton Athletic on 29 April 1995, he was rested to allow his understudy, Arjan van Heusden, to gain some first-team experience in an end of season fixture. The club finished in 12th place in 1995–96. Musselwhite played in the 1996 Anglo-Italian Cup Final, as Vale lost 5–2 to Genoa. The club achieved their highest post-war position in 1996–97 – eighth in the second tier. Musselwhite 36 appearances that season, after missing out on the first six weeks.
He made 45 appearances in 1997–98, keeping a clean sheet against Arsenal in the FA Cup on 3 January 1998. He made 40 appearances in 1998–99, missing most of November and all of December. In 1999–2000, Vale were relegated in 23rd place, with manager Brian Horton unable to halt the decline at Vale Park. Musselwhite played 32 matches and was sent off against Grimsby Town on 12 February 2000, 86 minutes into a 2–0 away defeat. He was given a free transfer at the end of the season, the club looking to cut their wage bill.
After having trials with former club Scunthorpe, Darlington and Sheffield Wednesday, Musselwhite signed for Wednesday on 25 August 2000 as cover for the suspended Kevin Pressman. However, he left less than a month later after joining Brian Little's Hull City of the Third Division on 19 September 2000. He was the club's first-choice goalkeeper as Hull reached the play-offs, only to lose to Leyton Orient in the semi-final, after a sixth-place finish 2000–01. He played in just 21 matches in 2001–02, making his first appearance of the season on 29 December 2001 in a 3–0 win away to Kidderminster Harriers.
First-choice goalkeeper from September to January in 2002–03, he played 22 matches. On 26 December 2002, he was in goal for the club's first competitive fixture at the KC Stadium, keeping a clean sheet in a 2–0 win over Hartlepool United. In 2003–04, Musselwhite made 19 appearances, all in the first half of the season. Hull finished second, winning promotion to the new League One.
Musselwhite returned to Scunthorpe United after signing on 3 June 2004, 12 years since his departure from the club. Scunthorpe were promoted in 2004–05 as runners-up, just three points off League Two title winners Yeovil Town. Musselwhite made 50 appearances. The club finished 12th in League One in 2005–06, Musselwhite making 32 appearances having missed December and January. In May 2006, he signed for Conference South club Eastleigh, but left in September having made nine appearances.
In November 2006, Musselwhite signed for Conference North club Kettering Town, but was released later that month after Mark Osborn returned from suspension. In January 2007, Musselwhite received a phone call from his former teammate, the Port Vale manager Martin Foyle, inviting him back to the club as cover for long-term injury victim Mark Goodlad.
In June 2007, he joined Harrogate Town of the Conference North. Musselwhite left Harrogate in January 2008 after being offered a better contract with Ian Bogie's Gateshead, playing in the Northern Premier League Premier Division. He was immediately made the number one goalkeeper, helping them to promotion by beating Buxton in the play-off final. He had made 29 appearances before the season's end. Gateshead won their second successive promotion in 2008–09, beating AFC Telford United 1–0 in the Conference North play-off final.
In February 2009, it was announced that Musselwhite would join League Two club Lincoln City as player-goalkeeping coach under Peter Jackson at the end of the season. On 1 April 2010, he signed a new contract that would keep him at the club until the summer of 2011. On 29 September 2010, Musselwhite was appointed assistant-caretaker manager to Scott Lindsey following Chris Sutton's resignation. On 2 October 2010, the 41-year-old took to the field in a 1–0 defeat away to Southend United, following an injury to Joe Anyon.
After a new contract offer from Lincoln was dependent on Joe Anyon leaving the club, Musselwhite opted to sign for Conference Premier club York City on 16 June 2011 as player-goalkeeping coach. At the age of 43, Musselwhite became York's oldest player when making his debut in a 1–0 away win over Cambridge United on 17 April 2012. He followed this up with another clean sheet in a 1–0 victory away to Braintree Town on 21 April 2012, a result that ensured York's place in the play-offs. He was an unused substitute in the 2012 Conference Premier play-off Final, as York came from behind to beat Luton Town 2–1 at Wembley Stadium. Musselwhite left York on 4 March 2013, two days after Gary Mills was sacked as manager.
He finished 2012–13 as goalkeeping coach at League One club Bury, before taking the same position at one of his former clubs, newly relegated League Two club Scunthorpe United, in June 2013.
IndividualScunthorpe United F.C. Player of the Year: 1989
Port ValeFootball League Trophy: 1992–93
Second Division runner-up: 1993–94
Hull CityThird Division runner-up: 2003–04
Scunthorpe UnitedLeague Two runner-up: 2004–05
GatesheadNorthern Premier League Premier Division play-offs: 2007–08
Conference North play-offs: 2008–09