Njegov oče je bil Jožef Tomšič, orožniški poročnik, mati pa Marija, roj. Lunder. Brat France Tomšič je bil jezikoslovec in leksikograf, sestra Marija Tomšič, višja medicinska sestra, pa je bila pionirka zdravstvene nege na Dolenjskem. Osnovno šolo (1916–1920) in gimnazijo (1920–1928) je obiskoval v Novem mestu. Po maturi se je vpisal na vojno pomorsko akademijo v Dubrovniku (1928 – 1931). Leta 1931 je tam opravil izpit za pomorskega oficirja.
Med letoma 1931 in 1941 je služboval v jugoslovanski kraljevi vojni mornarici. Po začetku druge svetovne vojne so ga ustaške oblasti izgnale iz Hrvaške. V Novem mestu se je povezal z Osvobodilno fronto in novomeško mornariško skupino, katere vodja je bil Baldomir Saje. Med marcem 1942 in aprilom 1943 je bil interniran v Gonarsu in Chiesi Nuovi pri Padovi v Italiji. Avgusta 1943 se je vključil v narodnoosvobodilno borbo, oktobra 1943 pa v Komunistično partijo Jugoslavije. Septembra 1943 je najprej postal načelnik štaba Tomšičeve brigade, nato pa je bil od februarja 1944 do konca vojne komandant raznih enot na Hvaru, Visu, Dugem otoku, v Zadru idr.
Po vojni je bil najprej komandant flote jugoslovanske vojne mornarice v Šibeniku (1945–1948) in komandant zaledja jugoslovanske vojne mornarice (1948–1951), nato načelnik Vojno pomorskega šolskega centra v Divuljah pri Splitu (1951–1954), načelnik Mornariško-tehničnega inštituta v Splitu (1954–1957) in Visoke vojno pomorske akademije ter Operativnega oddelka poveljstva vojaško pomorskega območja (1957–1964). Leta 1965 se je upokojil.
Članke in razprave s področja pomorstva, zlasti vojno pomorske zgodovine, je objavljal v Mornaričkem glasniku, Vazduhoplovnem glasniku, Obali in v Delu. Prispeval je tudi dva članka za Vojno enciklopedijo iz leta 1975. Leta 1974 je izdal knjigo z naslovom Narodnoosvobodilni boj na Jadranu in slovenski pomorščaki. Za svoje delo je prejel številne nagrade in priznanja.
Narodnoosvobodilni boj na Jadranu in slovenski pomorščaki, 1975
red za hrabrost, 1945
red partizanske zvezde III. stopnje, 1945
red bratstva in enotnosti II. stopnje, 1946
red za vojne zasluge II. stopnje, 1946
red narodne armije II. stopnje, 1954
red za vojne zasluge z veliko zvezdo, 1953
red za vojne zasluge z veliko zvezdo, 1969
red zaslug za narod z zlato zvezdo, 1975
nagrada vstaje, 1975 (za publikacijo Narodnoosvobodilni boj na Jadranu in slovenski pomorščaki)
Enciklopedija Slovenije: zv. 13: Š-T. Ljubljana: Mladinska knjiga, 1999, str. 285.
Nagrada vstaje slovenskega naroda za leto 1975. Dnevnik, 18. 7. 1975, let. 24. št. 194, str. 5.
Slovenski biografski leksikon: 4. Knj.: Táborská – Žvanut. Ljubljana: Slovenska akademija znanosti in umetnosti, 1980–1991, str. 132.