Natif d'Upington, Henry Immelman se fait remarquer en disputant la Varsity Cup, le championnat universitaire sud-africain avec l'équipe universitaire du Grey College. Puis il dispute cette compétition avec l'équipe du Central University of Technology (Cut), basée à Bloemfontein. Parallèlement, il rejoint en 2015, l'équipe professionnelle des Free State Cheetahs.
Durant l'été 2016, Henry Immelman rejoint le Montpellier HR. Joueur polyvalent, il fait ses débuts en Top 14 le , en remplaçant Alexandre Dumoulin en seconde mi-temps d'un match contre Brive[2].
Durant la saison 2017-2018, il atteint la finale du Championnat de France. Enfinale, face au Castres olympique, il n'est pas titulaire et débute la rencontre sur le banc des remplaçants. Il entre en jeu à la 62e minute à la place de Jesse Mogg, mais son équipe s'incline 13 à 29[3],[4].
En 2021, après cinq ans passés à Montpellier, il quitte la France pour l'Écosse et s'engage à Édimbourg[5].
À la fin de la saison 2022-2023, âgé de 27 ans, il retourne de son pays natal et rejoint les Bulls[6],[7].