Родился в 1914 в селе Окунеево (ныне — Зырянский район Томской области).
Майор, участник Великой Отечественной войны, Герой Советского Союза.
В 1937 году Смирнов был призван на службу в Рабоче-крестьянскую Красную Армию. В 1939 году он окончил Томское артиллерийское училище. Участвовал в боях советско-финской войны. С августа 1941 года — на фронтах Великой Отечественной войны.
К октябрю 1943 года капитан Василий Смирнов командовал дивизионом 805-го гаубичного артиллерийского полка 38-й армии 1-го Украинского фронта. Отличился во время битвы за Днепр. 5-12 октября 1943 года дивизион Смирнова участвовал в боях за переправу через Днепр в районе сёл Старые Петровцы и Новые Петровцы Вышгородского района Киевской области Украинской ССР, уничтожив 1 батарею миномётов, 1 батарею артиллерии, 2 огневые точки, около 2 взвод немецких пехотинцев. 18 октября — 6 ноября 1943 года дивизион уничтожил 1 батарею, 1 танк, 5 батареи миномётов и артиллерии, 1 склад. В ходе дальнейшего наступления дивизион Смирнов в числе первых вошёл в Киев.
Указом Президиума Верховного Совета СССР от 9 февраля 1944 года за «образцовое выполнение заданий командования и проявленные мужество и героизм в боях с немецкими захватчиками» капитан Василий Смирнов был удостоен высокого звания Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
В ходе последующего наступления майор Василий Смирнов 22 июля 1944 года получил тяжёлое ранение в живот под городе Золочёв Львовской области Украинской ССР и скончался два дня спустя. Похоронен в Золочёве.
Был также награждён орденами Александра Невского и Отечественной войны 1-й степени, рядом медалей.
В честь Смирнова названы улицы в Золочёве и Зырянском, школа в Томске.