Kelleher began his career with local Cork club Avondale, before signing for Scottish club Celtic in 2012.[3] He moved on loan to Peterhead in July 2016.[6]
He signed for English club Oxford United in June 2017.[7] He moved on loan to Solihull Moors in August 2017,[8] extending the deal in January 2018 until the end of the season.[9]
Macclesfield Town
He joined Macclesfield Town on loan in June 2018.[10] Kelleher made his professional debut on the first day of the 2018–19 season, starting the game against Swindon Town.[2] He scored his first goal for club in an EFL Cup draw with Bradford City in August, and his first league goal in a 3–3 draw with Newport County at the beginning of October.[11] After being released by Oxford at the end of the season,[12] he returned to Macclesfield and was named captain of the side for the 2019–20 season.[13]
Wrexham
On 12 September 2020, Kelleher signed for National League side Wrexham.[14]
Kelleher was released by Wrexham on 2 June 2021.[15]
Bradford City
On 29 June 2021 it was announced that he had signed a two-year contract with Bradford City.[16][17] He later said that he was "excited" to train with his new teammates.[18] He entered the starting line-up after an injury to captain Niall Canavan,[19] later saying that the club's dip in form was not enjoyable.[20]
In April 2022 he said was "gobsmacked" that the club had hired Mark Hughes as manager.[21]
He moved on loan to Solihull Moors in July 2022, for the entire season.[22] He was recalled by Bradford City in January 2023, with a view to making a permanent transfer elsewhere.[23]
Colchester United
The next day, he signed for Colchester United for an undisclosed fee.[24][25] He had said that his time at Bradford had "not worked out", having made 11 appearances for the club.[26] After signing for Colchester he became "in the heart of the defence".[27]