1947 absolvierte er seinen ersten Zehnkampf für Racing Straßburg und erreichte 6300 Punkte. Bei den Olympischen Spielen 1948 in London gewann er mit 6974 Punkten Silber hinter dem US-Amerikaner Bob Mathias. 1950 bei den Europameisterschaften in Brüssel gewann Heinrich mit 7364 Punkten vor dem Isländer Örn Clausen mit 7297 Punkten. Bei den Olympischen Spielen 1952 in Helsinki gab er nach der sechsten Disziplin auf.