Swansea City Walsh was born in
Cardiff, South Glamorgan. He made his first team debut on 10 August 2010 in a 3–0 win over
Barnet in the
League Cup.
Crawley Town Walsh joined
Crawley Town following his release from Premier League
Swansea City at the end of the
2011–12 season. He was voted the club's Player of the Year and Young Player of the Year for the
2013–14 season and ahead of the
2014–15 season was rewarded with the club
captaincy. In total, Walsh made 110 appearances in all competitions for the club, and scored 9 goals.
Milton Keynes Dons After a short spell on loan, newly promoted
Championship club
Milton Keynes Dons confirmed on 28 May 2015 that Walsh had signed a two-year deal at the club for an undisclosed fee. Walsh scored his first goal for
Milton Keynes Dons on 16 January 2016 in a 1–0 home victory over
Reading. On 18 August 2017, Walsh signed a new contract keeping him at the club until June 2020.
Lincoln City On 13 August 2020, it was announced that Walsh would become Lincoln City's seventh signing of the summer, following the expiry of his contract with Milton Keynes Dons. He would eventually make his debut on 17 October 2020, starting the game away to
Fleetwood Town helping to keep a clean sheet. After a run of 4 starts and 4 clean-sheets, Walsh would injure his knee ruling him out for up to 12 weeks. He would sign a new long-term contract, less than a year at the club on 28 March 2021. His first goal for the club came against
Morecambe on 19 November 2022. On 10 May 2023, it was announced in the clubs retained list that Walsh would be leaving the club following the expiration of his contract. ==International career==