Сын сельских учителей. Отец был мобилизован в российскую армию сразу после начала Первой мировой войны, а в 1918 году вступил в Красную Армию. В 1919 году он умер от тифа. Спасая сына от голодной смерти в условиях разрухи, мать уехала с ним к родственникам в Самарканд. В 1925 году семья вернулась на родину, а в 1931 году переехала в посёлок Болшево Московской области (ныне в черте города Королёв). Там окончил среднюю школу в 1936 году. Поступил в Московский инженерно-строительный институт им. Куйбышева.
В июне 1938 года призван на срочную службу в Вооружённые Силы СССР (Пограничные войска НКВД СССР). Служил стрелком в Ленкоранском пограничном отряде на границе с Ираном в Азербайджанской ССР, затем в штабе отряда.
Вскоре после начала Великой Отечественной войны направлен на учёбу на курсы младших лейтенантов при Высшей пограничной школе НКВД СССР в Москве. В октябре 1941 года в связи с катастрофическим развитием событий на фронте, сводный батальон курсантов-пограничников, в составе которого был В. Матросов, был отправлен на Западный фронт и в тяжёлых условиях вёл бои против наступавших немецких войск в районе Можайска. Затем оставшиеся в живых курсанты были возвращены для продолжения учёбы. Окончил курсы в марте 1942 года.
С марта 1942 года воевал на Карельском фронте - заместитель командира роты по разведке 73-го Краснознамённого пограничного полка. Выполнял боевые задачи по охране тыла фронта, борьбе с немецко-финскими диверсионными группами в полосе Кировской железной дороги, а также вёл разведку в интересах войск фронта. Лично участвовал в 10 дальних разведрейдах в глубокий тыл финских войск. Участвовал в Выборгско-Петрозаводской наступательной операции в 1944 году. После завершения освобождения Карелии был направлен на Крайний Север и участвовал в Петсамо-Киркенесской наступательной операции. За отличие в боях награждён орденом. Член ВКП(б) с 1944 г.
С конца 1944 года служил в разведотделе Карело-Финского погранотряда. В 1948 году окончил Курсы усовершенствования офицерского состава погранвойск в Москве. Служил в Главном управлении пограничных войск в Москве. В 1955 году окончил Военно-юридическую академию, в 1959 году - Высшие академические курсы при Военной академии Генерального штаба.
С 1959 года - начальник штаба Управления пограничных войск Северного пограничного округа. С 1961 года начальник 2-го (разведывательного) отдела штаба Главного управления пограничных войск Комитета государственной безопасности при Совете Министров СССР, генерал-майор (14.05.1962). С 1963 года - начальник пограничных войск Закавказского пограничного округа. С 1967 года - начальник штаба Главного управления пограничных войск КГБ СССР - первый заместитель начальника Пограничных войск СССР, генерал-лейтенант (27.10.1967).
В декабре 1972 года назначен начальником Главного управления пограничных войск - начальником пограничных войск КГБ СССР. Воинское звание генерал-полковник было присвоено 23 апреля 1974 года, а звание генерал армии присвоено 13 декабря 1978 года. Стал первым руководителем пограничных войск, которому было присвоено столь высокое воинское звание. По мнению подавляющего большинства ветеранов пограничных войск, проявил себя как один из лучших начальников пограничных войск за всю их историю, сохранив положительные результаты своих предшественников (прежде всего генерал-полковника П. И. Зырянова) и добиваясь соответствия войск требованиям времени. С февраля 1984 года - заместитель Председателя Комитета государственной безопасности СССР - начальник Главного управления пограничных войск - начальник пограничных войск КГБ СССР. Депутат Верховного Совета СССР в 1966-1970 годах.
Активно принимал участие в руководстве боевыми действиями пограничников в северных районах Афганистана в ходе Афганской войны. Лично многократно посещал расположение введённых в Афганистан частей пограничных войск, участвовал в разработке боевых операций и координации их действий с армейскими частями.
С декабря 1989 года - военный инспектор-советник Группы генеральных инспекторов Министерства обороны СССР. С 1992 года - в отставке. Жил в Москве. Похоронен на Троекуровском кладбище.