Karnatz machte zunächst eine kaufmännische Lehre, wurde aber 1941 in die Wehrmacht eingezogen. Nach seiner schweren Verwundung wurde er 1944 aus dem Militärdienst entlassen und arbeitete bis zum Ende des Zweiten Weltkriegs als Kaufmann.
Da der vorherige BezirksbürgermeisterWilli Meseck 1960 pensioniert wurde, wurde Karnatz als Bezirksbürgermeister von Berlin-Tiergarten gewählt. 1975 schied er nach 15 Jahren als Bürgermeister aus, sein Nachfolger wurde Gottfried Wurche.
Ehrung
Am 7. September 1999 wurde die Joachim-Karnatz-Allee im Rahmen der Bebauung des Moabiter Werders nach ihm benannt.