Ruan Nortjé naît et grandit à Pretoria, et il scolarisé à la Hoërskool Wonderboom(en)[3]. Il pratique le rugby à XV avec l'équipe de l'établissement, et se montre performant, mais la faible réputation de ce lycée ne lui permet pas de percer immédiatement au niveau provincial[3],[4].
Après avoir terminé sa scolarité, il est finalement recruté par l'Academy (centre de formation) de la province locale des Blue Bulls[4]. Avec sa nouvelle équipe, il joue avec les équipes des moins de 18 ans en 2016, puis de 19 ans en 2017[4],[5]. En 2017, il est élu meilleur joueur de son équipe dans sa catégorie d'âge[4]. Il joue également en Varsity Cup(en) (championnat universitaire sud-africain) avec les UP Tuks (club de l'université de Pretoria)[6],[7].
Il joue son premier match professionnel avec les Blue Bulls en en Rugby Challenge, face aux Pumas[1]. Deux semaines plus tard, il est appelé au sein de l'effectif des Bulls pour le dernier match de la saison face aux Lions[8]. Il fait ses débuts en Super Rugby lors de cette rencontre, qu'il dispute comme remplaçant[1].
L'année suivante, il ne joue aucune rencontre en Super Rugby avec les Bulls, et doit se contenter de jouer avec l'équipe des moins de 21 ans des Blue Bulls[1],[9].
En 2020, après s'être renforcé musculairement, il s'impose comme un titulaire en deuxième ligne avec les Bulls[10],[11]. Après une saison de Super Rugby interrompue par la pandémie de Covid-19, il devient un cadre de l'équipe qui remporte le Super Rugby Unlocked(en) à l'automne 2020[12]. Plus tard lors de la saison, il remporte également la Currie Cup avec les Blue Bulls[13].
En 2021, il dispute la Pro14 Rainbow Cup avec les Bulls, puis remporte une nouvelle fois la Currie Cup[1],[14].
En 2021-2022, Nortjé dispute avec les Bulls leur première saison de United Rugby Championship, et termine la compétition à une place de finaliste[15],[16]. En , il prolonge son contrat avec les Bulls pour trois saisons supplémentaires, portant son engagement jusqu'en 2025[17]. Au terme de cette saison, il reçoit le titre de « Ironman » de la saison, récompensant le joueur le plus utilisé de la compétition[18]. Il fait également partie de l'équipe type de la saison[19].
En , il devient le capitaine des Bulls à la suite du départ de Marcell Coetzee au Japon[20]. Un an plus tard, avec le retour de Coetzee, il se partage désormais la fonction avec celui-ci[21].
En , il est sélectionné pour la première fois avec les Springboks par le sélectionneur Jacques Nienaber pour préparer la série de test-matchs face au pays de Galles[25]. Il connaît sa première sélection lors du deuxième match de la série, le à Bloemfontein[26].