U-46 – niemiecki okręt podwodny (U-Boot) typu VIIB z okresu II wojny światowej. Okręt wszedł do służby w 1938, wycofano go w 1943.

Historia Podczas II wojny światowej odbył 13 patroli bojowych, spędzając w morzu 321 dni. Zatopił: 2020 sierpnia U-46 storpedował i uszkodził grecki frachtowiec SS "Leonidas M. Valmos" (2080 ton). Uszkodzoną jednostkę doholowano do portu Greenock (Szkocja), gdzie w zatoce Kames osadzono na mieliźnie. Z powodu rozległych zniszczeń i złego stanu technicznego "Leonidas M. Valmos" został uznany za stracony i pocięty na złom. statków handlowych o łącznym tonażu 85 792 BRT, dwa krążowniki pomocnicze – HMS „Carinthia” (20 277 t) i HMS „Dunvegan Castle” (15 007 t) oraz uszkodził 4 statki o łącznym tonażu 25 491 BRT.

Z uwagi na znaczne zużycie mechanizmów U-46 został wycofany ze służby w dniu 1 października 1943. Do końca działań wojennych był wykorzystywany jako stacjonarny okręt torpedowy w bazie w Neustadt.

Zatopiony przez własną załogę 4 maja 1945 w zatoce Kupfermühlen w pobliżu Flensburga w ramach operacji Regenbogen.