Born in Edinburgh while his father was representing Hibernian, Holsgrove returned to England a few months later, and was a Reading youth graduate.[2] On 13 February 2017, he signed his first professional contract with the club.[3] On 26 February 2019, after already becoming a regular with the club's under-23 squad, he agreed to a new deal until 2021.[4]
Holsgrove scored his first senior goal on 3 November 2019, netting ATB's third in a 3–1 home success over Real Oviedo Vetusta.[7] He returned to the Royals in July 2020, despite Atlético Baleares attempting to extend his loan deal to cover for the play-offs, as the season was delayed due to the COVID-19 pandemic.[8]
Celta
On 10 September 2020, Holsgrove signed a permanent two-year contract with La Liga side RC Celta de Vigo, being initially assigned to the reserves also in the third division.[9][10] After impressing with the B-side, he made his first team debut on 5 January 2021; after replacing Lautaro De León in the 81st minute, he scored his side's second in a 2–5 Copa del Rey away loss against UD Ibiza.[11]
Holsgrove made his debut in the Spanish top tier on 8 January 2021, replacing Miguel Baeza at half-time in a 0–4 home loss against Villarreal CF.[12]
Paços de Ferreira
On 27 June 2022, Paços de Ferreira announced the signing of Holsgrove.[13] On 27 July 2023, Holsgrove announced his departure from Paços de Ferreira.[14]
Olympiacos
On 28 July 2023, Olympiacos announced the signing of Holsgrove, with his immediate loan out to Estoril.[15]
Holsgrove hails from a family of footballers. His father Paul was also a midfielder,[2] while his uncle Lee and his grandfather John were both defenders.