Batt signed for Fisher Athletic on 26 June 2007 from Dagenham & Redbridge. He went on to make 33 appearances in the Conference South during the 2007–08 season. He made his debut for Peterborough United, at home to Tranmere Rovers, in the 2–2 draw in League One on 20 September 2008. Batt joined Millwall on loan in January 2010, until the end of the 2009–10 season. He scored on his debut against Southend United on 26 January, in the 2–0 win for the Lions. Batt signed a permanent three-year contract with Millwall for an undisclosed fee on 15 June 2010. He was unable to play a competitive game for Millwall for 18-months after his transfer as he was plagued by a serious knee injury during a pre-season friendly. Batt's recovery took a set-back after being forced to have further surgery in January 2011 due to a buildup of scar-tissue. After a long recovery period, Shaun played his first competitive game as a permanent Millwall player on 7 January 2012, when he came on as a substitute against Dagenham & Redbridge in the FA Cup Third Round. After failing to secure a place in the first team, Batt was sent out on an initial 36-day loan to Football League Two side Crawley Town, returning to Millwall on 7 April to feature in the club's remaining games. The following season, with five strikers fighting for a place in the team, by the start of 2013 Shaun had only made 11 appearances in all competitions. Batt moved on loan to League One club Leyton Orient on 31 January 2013, going on to make 13 appearances for the club in all competitions, scoring three goals. He was recalled by Millwall on 8 April, featuring 8 more times by the end of the season. Orient boss Russell Slade praised Batt: "He's been a real success during his time here and aside from some terrific performances on the pitch he has been an excellent figure in and around the changing room." Batt was released by Millwall at the end of his three-year contract in mid June 2013 and signed for Leyton Orient, where he had been playing on loan, on a two-year contract on 24 June 2013. On 3 September 2013 Batt scored his first career hat-trick in Orient's 3–1 win at Gillingham in the Football League Trophy. He mostly featured as a substitute before squad injuries meant he became a regular starter in the Orient team, and he had scored nine goals in 26 appearances before the end of 2013. However, in the 2–1 league win at Gillingham on 26 December, he suffered a hamstring injury that was expected to rule him out for up to four months. Following the expiry of his two-year deal at Orient, Batt joined Barnet on a two-year deal on 9 July 2015. His first goal came the following season with a winner against Hartlepool United, but he injured his hamstring in the same game and did not play for the Bees again before being released at the end of the season. Batt joined Chelmsford City on 9 July 2017. On 1 January 2018, Batt scored his maiden goal for the club in a 2–2 draw against rivals Braintree Town. On 20 September 2018, Batt signed for East Thurrock United. He left the club at the end of the season after relegation to the Isthmian League. Batt announced his retirement from football on social media in August 2019.