Василий Николаевич Горшков родился 17 декабря 1920 года в деревне Байгельды Дюртюлинского района Башкортостана. До войны работал в местном трахоматозном медпункте, помогая бороться с инфекционными заболеваниями. В мае 1941 года был призван в армию, а уже через месяц оказался на фронтах Великой Отечественной войны.
В сентябре 1943 года младший сержант Горшков, командуя отделением автоматчиков, совершил подвиг при форсировании Днепра у села Трахтемиров. Под шквальным огнём противника он первым переправил штурмовую группу, закрепился на плацдарме и организовал переправу подкреплений. В ходе боя лично уничтожил 15 гитлеровцев, а затем, рискуя жизнью, совершил шесть рейсов через Днепр, эвакуируя раненых и доставляя боеприпасы. За этот подвиг 23 октября 1943 года он был удостоен звания Героя Советского Союза.
Погиб 31 августа 1944 года, похоронен в селе Заречье Надворнянского района Ивано-Франковской области Украины.
Награды: медаль «Золотая Звезда»; орден Ленина; орден Отечественной войны I степени; орден Отечественной войны II степени.