Born in Birkenhead, Merseyside, Mustoe started his career as a youth player at Liverpool, but was not retained. He then joined Wigan Athletic, and signed his first professional contract with the club in 2009. He made his first-team debut, coming on as a substitute, in an FA Cup match against Hull City on 8 January 2011, which Wigan won 3–2. After the match, Manager Roberto Martínez spoke out about their debut performances. made his first start for Wigan in another FA Cup match against Swindon Town on 7 January 2012. After the match, Mustoe expressed his mixed emotions to make his first start and the results. In July 2013, the club opted to take up their option of a contract extension on Mustoe to stay for another season. However, after five years at the club, Mustoe was among five players to be released when their contract expired at the end of the 2013–14 season.
Loan moves
On 30 January 2012, he joined Barnet on loan for the rest of the season. He made his debut on 7 February, in a 1–0 defeat to Swindon. On the last game of the season against Burton Albion, Mustoe provided assist for Mark Byrne to score the opening goal in the 6th minute. Barnet would go on to win the game 2–1, thus maintaining their Football League status. Mustoe went on to make eighteen appearance for the club and returned to his parent club. He signed on loan for Morecambe on 8 October 2012. He scored on his debut 2 days later, a 4–2 defeat to Preston North End in the second round of the Football League Trophy. His loan finished on 12 November after the 4–1 defeat of his former club, Barnet. The loan was extended on 20 November, allowing for Mustoe to remain on loan until 1 January 2013. Mustoe made fourteen appearance for the club before returning to his parent club on 2 January 2013. On 21 February 2013, it was announced that Mustoe was to sign for Carlisle United on loan until the end of the 2012-13 season. Mustoe made his league debut for the club two days later, playing as a left-back, in a 1–1 draw against MK Dons. Mustoe then scored his first goal for the club, in a 2–1 win over Oldham Athletic on 6 April 2013 and then provided assist for Liam Noble in the next game, in a 2–0 win over Donacaster Rovers. He made a total of 14 appearances during his time at Brunton Park, scoring one goal. On 1 October 2013, Mustoe joined League Two side Bury on a month's loan. Mustoe made his debut four days later, on 5 October 2013, playing as a left-back, in a 0–0 draw against Newport County. After making six appearance, it announced that Mustoe returned to Wigan. On 17 January 2014, Mustoe joined Wycombe Wanderers on a one-month loan deal. Mustoe made his Wycombe Wanderers debut on 25 January 2014, playing as a left-back position, in a 2–2 draw against Mansfield Town. Mustoe went on to make three more appearance before returning to his parent club on 18 February 2014. On 27 March 2014, Mustoe joined League Two side Morecambe on loan until the end of the 2013–14 season. Mustoe then re-debut for the club on 5 April 2014, coming on as a substitute in a late minutes, as Morecambe loss 1–0 against Mansfield Town. After making five appearance for the club.
After being released by Wigan, it announced on 11 August 2014 that Mustoe joined Accrington Stanley on a short-term contract, having previously played in the pre-season friendly. Five days later after signing for the club, Mustoe made his Accrrington Stanley debut, playing as a left midfield position, in a 2–1 loss against Cheltenham Town. However, Mustoe was released by the club despite being in the first team regular with four appearance.
After three months without a club, Mustoe moved abroad for the first time by joining Belgian Pro League side Westerlo on a one-year contract with option to extend. Mustoe made his Westerlo debut two days later, playing in the left-back position, in a 1–1 draw against Standard Liège. But then, Mustoe was then sent-off after a foul on Thomas Foket, in a 2–1 loss against Gent on 7 February 2015 and was banned for two match. Mustoe then provided assist for Mohammed Aoulad, in a 3–0 win over Oostende on 28 February 2015. On 25 March 2015, Mustoe signed a contract extension for one season. On 18 July 2017 played for Grimsby Town on trial in a friendly against Bideford.
On 15 January 2019, Mustoe joined Liga I side Dinamo București. His time in Romania was brief as he was released on 26 March 2019 after only making 3 appearances for the club.
Al-Nasr
On 13 September 2019, Mustoe joined Oman Professional League side Al-Nasr for the 2019–20 season.