Родился в деревне Сосновка (ныне Вяземский район). После школы (окончил 8 классов), работал трактористом на МТС. В 1932 году переехал в Москву, работал фрезеровщиком. В 1936 году окончил Октябрьский аэроклуб и работал инструктором.
В 1939 году призван в армию. Окончил Борисоглебскую военную авиационную школу лётчиков. Служил в военно-воздушных частях Московского военного округа.
На войне с июня 1941 года. Воевал под Москвой, на Брянском и Сталинградском фронтах, был заместителем командира авиаэскадрильи 27-го истребительного авиационного полка. Под Сталинградом был ранен и долгое время находился в госпитале.
С мая по август 1943 года командовал эскадрильей 165-го истребительного авиационного полка на Центральном фронте.
Совершив 335 боевых вылетов лично сбил 5 самолётов противника и 6 в составе группы.
С февраля 1944 года является лётчиком-испытателем Государственного Краснознамённого научно-испытательного института Военно-воздушных сил. Испытывал Як-3П, Як-9В, Як-9М, Як-9П, Як-9С, МиГ-9УТИ, МиГ-9М, МиГ-19, Су-15, СМ-30, Су-17, Ту-128, Ил-40 и многие другие.
Указом Президиума Верховного Совета СССР полковнику Иванову Василию Гавриловичу за мужество и героизм, проявленные при испытаниях новой авиационной техники было присвоено звание Героя Советского Союза.
Жил на станции Чкаловская, в черте города Щёлково. Умер 8 мая 1969 года, похоронен на Ваганьковском кладбище.