Canaris wrócił do Berlina, skąd po zakończeniu leczenia rozpoczął służbę na okrętach. Na krótko w grudniu 1916 roku był dowódcą torpedowca D 9, po czym do czerwca szkolił się na okrętach podwodnych. Był następnie dowódcą okrętów podwodnych: (czerwiec–wrzesień 1917), następnie: U-38 (16 września 1917–15 listopada 1917), UC-27 (28 listopada 1917 – 14 stycznia 1918), U-34 (18 stycznia 1918–13 marca 1918) (na tym okręcie zatopił dwa parowce francuskie i jeden brytyjski) oraz . Ostatni z okrętów pozostawał pod jego rozkazami od 11 maja 1918 roku do 29 listopada tego roku, operując z bazy w Cattaro (Kotorze)Jan Gajewski, „Canaris”, s. 23., dokonywał ataków na statki alianckie, topiąc 21 sierpnia 1918 francuski parowiec „Champlain” (7418 t) na zachód od brzegów Portugalii.

8 listopada 1918 roku Canaris przypłynął do Kilonii, gdzie zastał go bunt marynarzy – epizod rewolucji 1918 roku w Niemczech. Jako zaciekły antykomunista i monarchista zgłosił się do gubernatora Kilonii Gustava Noske, podejmując się tłumienia demonstracji i buntów środowisk lewicowych. W czasie walk w Berlinie w styczniu 1919 roku przyłączył się do Dywizji Kawalerii GwardiiJan Gajewski, Canaris, s. 27. (niem. Garde-Kavallerie-Schützen-Division) przybyłej prosto z frontu wojennego.