Gemeinsam mit "U 221", "U 222", "U 224" und "U 225" wurde "U 223" am 15. August 1940 in Auftrag gegeben. Kiellegung des Bootes mit der Baunummer 653 war am 15. Juli 1941. Nach dem Stapellauf am 16. April 1942 erfolgte am 6. Juni 1942 die Indienststellung unter dem Kommando von Oberleutnant zur See Karl-Jürg Wächter. Zunächst unterstand das Boot der 8. U-Flottille in Danzig als Ausbildungsboot. Während dieser Zeit erfolgte die weitere Ausrüstung des Bootes in Kiel und der Umgebung von Danzig, bis zum 11. Januar 1943. Ab dem 1. Februar 1943 war es der 6. U-Flottille unterstellt, in St. Nazaire stationiert und führte drei Unternehmungen durch. Am 1. November 1943 wechselte das Boot in die 29. U-Flottille in Toulon und führte drei weitere Unternehmungen durch. Am 12. Januar 1944 übergab Karl-Jürg Wächter, der am 1. Juni 1943 zum Kapitänleutnant befördert worden war, das Kommando an Oberleutnant Peter Gerlach. Unter seinem Kommando war "U 223" bei der Abwehr der Operation Shingle eingesetzt, in deren Verlauf Kommandant Gerlach zwei Kriegsschiffe angriff und mehrere Landungsfahrzeuge versenkte. Am 30. März 1944 wurde das Boot in ein Gefecht mit einer britischen U-Boot-Jagdgruppe verwickelt. Der Verband, der aus mehreren Zerstörern bestand, beschädigte "U 223" durch Wasserbomben. Nachdem sein Boot 25 Stunden unter Wasser verbracht hatte, entschloss sich Kommandant Gerlach, "U 223" auftauchen zu lassen und unter Einsatz der Dieselmotoren zu flüchten. Kurz nach dem Auftauchen versenkte er einen der britischen Zerstörer. Daraufhin wurde das Boot mit Schiffsartillerie angegriffen und schwer beschädigt. Die Besatzung versenkte das Boot, 23 Besatzungsmitglieder starben, 27 überlebten und wurden von den Briten gerettet.