JJ Engelbrecht rejoint en 2007 l'académie de la Eastern Province, dans sa région natale, avant de rejoindre l'année suivante la Western Province, avec qui il termine sa formation[3].
Sa carrière professionnelle débute en 2009 avec la Western Province lorsqu'il est appelé à disputer la Vodacom Cup, puis la Currie Cup lus tard la même année[3]. En 2009, il dispute également la Varsity Cup(en) (championnat universitaire sud-africain), avec l'équipe des Maties[3],[4]. En 2011, il rejoint l'effectif de la franchise des Stormers pour disputer le Super Rugby, mais ne dispute aucune rencontre en raison d'une forte concurrence[3],[5].
En 2012, il décide de changer de province pour rejoindre les Blue Bulls, ainsi que la franchise des Bulls[6]. Il joue son premier match en Super Rugby le contre les Sharks[7]. Il joue quatre saisons avec les Bulls, où il dispute soixante-cinq rencontres, et s'impose comme un élément important[1].
En , il effectue une courte pige de quelques mois avec la province galloise des Ospreys en Pro12[9].
Après trois saisons au Japon, il retourne jouer aux Stormers pour disputer la saison 2018 de Super Rugby[10]. Il joue également avec la Western Province lors de la Currie Cup 2018[11].
Entre juillet et octobre 2019, il fait un passage à l'ASM Clermont en Top 14, en qualité de joker Coupe du monde[12]. Il ne joue qu'une seule rencontre avec le club auvergnat, le à Bordeaux, où il sort blessé au bout de 19 minutes de jeu[13].
En 2020, il rejoint la franchise japonaise des Sunwolves, pour la dernière saison de l'équipe en Super Rugby, et dispute cinq matchs[1],[14]
En équipe nationale
JJ Engelbrecht est sélectionné pour la première fois avec les Springboks en juin 2012 par le sélectionneur Heyneke Meyer[15]. Il obtient sa première cape internationale le à l’occasion d’un match contre l'équipe d'Argentine au Cap[16]. Il enchaine en jouant onze matchs en 2013, ce qui lui permet d'obtenir un contrat fédéral pour l'année 2014[17]. Il ne dispute cependant aucun match en 2014 en raison d'une baisse de forme, et n'est pas rappelé en sélection[17].