He began his career with the academies of Parklands Tigers and Gregory Celtics, before moving to
Leicester City in 2013. Leshabela made his
Premier League debut with Leicester as an 81st-minute substitute during a 5–0 victory against
Sheffield United on 14 March 2021. Following his debut, manager
Brendan Rodgers praised Leshabela, stating that "he's a young player who has worked very hard", adding that "he has got qualities and he came into the game and showed a nice confidence". On 19 August 2021, Leshabela joined
EFL League One club
Shrewsbury Town on a season-long loan. He made his League One debut on 21 August 2021 as a 71st-minute substitute during a 0–3 defeat against
Plymouth Argyle. After struggling for game time, manager
Steve Cotterill said that Leshabela's loan had been a 'punt' and his position at the club would be reassessed in the January transfer window. On 27 January 2022, his loan spell was terminated. On 26 July 2022, Leshabela joined
EFL League Two club
Crewe Alexandra on a six-month loan deal, and made a substitute appearance in Crewe's opening game of the 2022–23 season, a 2–1 victory over
Rochdale at
Spotland on 30 July 2022. He made his first Crewe start on 9 August 2022, playing in an
EFL League Cup first round defeat at
Grimsby Town. In February 2024, Leshabela returned to his native
South Africa to sign for
Cape Town City. He made his debut in the against SuperSport United. In August 2024, Leshabela returned to England, joining
National League South side
Enfield Town. In March 2025, he joined
Southern League Premier Division Central side
Bedford Town following a spell with
Spalding United. ==International career==