*Club domestic league appearances and goals, correct as of 17:00, 1 January 2025 (UTC) ‡ National team caps and goals, correct as of 22:00, 16 October 2018 (UTC)
Sweeney began his career with his local club AFC Wimbledon, joining their youth academy at the age of eight in 2005.[6] He signed his first professional contract with AFC Wimbledon in February 2015.[7] Sweeney made his Football league début for AFC Wimbledon on 6 April 2015, coming on as an 80th-minute substitute during the 4–0 away loss against Dagenham and Redbridge.[8] He started Wimbledon's next match on 11 April 2015, a 0–0 draw against Oxford United at Kingsmeadow, and was named man of the match.[9]
Sweeney began the 2015–16 season with the club's under-21 side before injury to Karleigh Osborne saw Neal Ardley give Sweeney his chance in defence against Luton Town on 13 February 2016.[10] Wimbledon won the match 4–1 and Sweeney earned praise for his performance.[11] He kept his place in the side until he was sent-off for conceding a penalty in a 2–1 defeat at Morecambe on 12 March 2016.[12] Sweeney signed a new contract with Wimbledon in March 2016 after attracting interest from Premier League clubs Tottenham Hotspur and West Ham United.[13] On 4 August 2016 Wimbledon announced that they had agreed a fee with Stoke City for the transfer of Sweeney.[14][15]
Stoke City
On 5 August 2016, Sweeney completed his move to Stoke City for an undisclosed fee, understood to be in the region of £250,000.[16]
Bristol Rovers loan
On 20 January 2017 Sweeney joined Bristol Rovers on loan for the remainder of the 2016–17 season.[17] He impressed on his debut for the club, keeping a clean sheet in a 1–0 victory over local rivals Swindon Town during which he had a header cleared off the line.[18] He played 16 times for the Gas helping he club finish in 10th position.[19]
Sweeney rejoined The Pirates on loan for the 2017–18 season.[20] He scored his first goal for the Gas in a 3–1 win against Blackpool.[21] Sweeney made 27 appearances in 2017–18 scoring four goals as Rovers finished in 13th position.[22]
Mansfield Town
Sweeney joined Mansfield Town on loan for the 2018–19 season.[23] After a successful six-month loan, Sweeney signed for the Stags on a permanent basis in January 2019.[24]
Dundee
In June 2021, Sweeney signed with Scottish Premiership side Dundee on a two-year deal.[25] He would make his debut from the bench in a 2–2 league draw against St Mirren.[26] Sweeney scored his first goal for Dundee in a league game away to St Johnstone in October 2021.[27] Although the club would be relegated that season, Sweeney impressed enough to be awarded Dundee's Players' Player of the Year and the Andrew De Vries Player of the Year awards.[28][29]
After taking over the role of captain from the retired Charlie Adam the following season, Sweeney would have a very strong season and would lead Dundee to the Scottish Championship title and an immediate return to the top flight.[30] Sweeney would be named to PFA Scotland's Scottish Championship Team of the Year at the end of the season, as well as being named in the SPFL's Championship Team of the Season.[31][32] On 5 June 2023, Dundee announced that Sweeney would leave the club.[33]
Burton Albion
On 14 July 2023, Sweeney returned to England when he joined League One club Burton Albion on a two-year deal.[34] Sweeney scored his first goal for Burton in an EFL Trophy victory away to Wrexham.[35] At the end of the 2023–24 season, Sweeney was named as Burton's Players' Player of the Year.[36]
International career
On 18 May 2015 Sweeney was called up to the Ireland U-18s squad for the first time.[37]