U-31 – niemiecki okręt podwodny typu VIIA z okresu II wojny światowej. Okręt wszedł do służby w 1936, 16 września 1939 roku zatopił idący w konwoju frachtowiec SS „Aviemore”, który został pierwszym statkiem w konwoju zatopionym przez niemieckie U-Booty podczas bitwy o Atlantyk.

Historia W czasie hiszpańskiej wojny domowej odbył dwa patrole na wodach terytorialnych Hiszpanii, zaś podczas II wojny światowej – 7 patroli bojowych. Spędził w morzu 124 dni.

Zatopił 11 jednostek o łącznym tonażu 27 751 BRT oraz na postawionych przez niego minach zatonęły 2 pomocnicze trałowce – uzbrojone trawlery HMS „Glen Albyn” i HMS „Promotive”. 4 grudnia 1939 roku na minę postawioną przez U-31 wszedł brytyjski pancernik HMS „Nelson” (33 950 t) i został uszkodzony (remont trwał do sierpnia 1940).