Il représente à partir de 2012 les équipes de jeunes de la province locale des Eastern Province Kings, dispute avec cette équipe la Grant Khomo Week (tournoi national des moins de 16 ans)[6]. En 2013 et 2014, il dispute la Craven Week dans la catégorie des moins de 18 ans[6],[7]. Il joue également avec l'équipe des moins de 19 ans de sa province dans le championnat national junior en 2014 et 2015[6]. En 2015, son équipe remporte ce championnat pour la première fois de son histoire après une finale gagnée contre les Blue Bulls, match durant lequel Ward inscrit un doublé décisif[8].
Ward joue également en Varsity Cup(en) (championnat universitaire sud-africain) en 2016 avec les NMMU Madibaz (club de l'université Nelson-Mandela de Port-Elizabeth)[9],[10].
Carrière en club
En , il fait ses débuts au niveau professionnel avec les Eastern Province Kings en Provincial Cup[1],[11].
La même année, il est recruté en cours de saison par la franchise des Southern Kings pour disputer la saison 2016 de Super Rugby[12]. Il joue son premier match le contre les Lions[12]. Il joue deux rencontres lors de la saison, toutes comme remplaçant[1].
L'année suivante, il s'engage avec la franchise des Sharks en Super Rugby[13],[14]. Il joue un total de douze matchs lors de sa première saison à Durban, pour seulement quatre titularisations[1]. Plus tard en 2017, il joue également en Currie Cup avec les Natal Sharks[1].
En 2018, il connaît une saison blanche en Super Rugby à cause d'une blessure à la main[15]. Il est toutefois un élément important des Natal Sharks lors de la saison 2018 de Currie Cup, que son équipe remporte[1],[16]
Globalement, il est peu titulaire en Super Rugby lors de ses premières saisons aux Sharks, principalement à cause de la présence de joueurs comme André Esterhuizen ou Lukhanyo Am à son poste de centre[15],[17].
En 2019, il devient le co-capitaine des Natal Sharks pour la saison de Currie Cup[18]. Il est ensuite occasionnellement capitaine des Sharks lors du Super Rugby Unlocked(en) en 2020[19].
En 2022, il participe à la première saison des Sharks en United Rugby Championship (URC). Principalement utilisé comme doublure de l'international Lukhanyo Am, il est néanmoins titularisé six fois en onze matchs[1],[22]. Il ne joue toutefois pas les phases finales avec son équipe, mais joue en lieu et place la Currie Cup 2022 avec les Natal Sharks[1],[23].
À l'intersaison 2022, alors qu'un départ vers la franchise des Lions est dans un premier temps évoqué, il s'engage finalement avec le Stade français en Top 14[24],[25]. Il s'engage pour deux saisons avec le club parisien, où il a pour but de compenser les départs de Waisea Nayacalevu et Ngani Laumape[26]. Arrivé en France fin septembre, il joue son premier match le contre l'Union Bordeaux Bègles[27],[28]. S'étant rapidement imposé comme un joueur cadre de la ligne de trois-quarts parisienne, il prolonge son contrat en pour deux saisons supplémentaires[29],[30]. Lors de sa deuxième saison, il participe pleinement au bon parcours de son club (qualification en demi-finale), et il est considéré comme l'un des meilleurs joueurs du championnat à son poste[31],[32]. Il est même élu dans l'équipe type de la saison 2023-2024 de Top 14[33].