Родился 13 (26) апреля 1903 года в селе Пески Лохвицкого района Полтавской области в семье крестьянина. Украинец. Окончил 7 классов. Оставшись без отца, работал в крестьянском хозяйстве матери.
В Красной Армии с сентября 1922 года. В 1922-23 годах учился в «Школе Червоных старшин» в Харькове, на пехотных командных курсах в Крыму. Далее служил в 5-м стрелковом полку 2-й Кавказской дивизии в городе Баку. В 1927 году окончил Владикавказскую пехотную школу.
В 1927-32 годах служил командиром взвода, роты, начальником штаба батальона в 74-м стрелковом полку 25-й Чапаевской стрелковой дивизии Уральского военного округа (УВО), в 1932-39 годах – начальником штаба и командиром батальона в 64-м стрелковом полку 94-й стрелковой дивизии Сибирского военного округа (СибВО) в городе Ачинск. Член ВКП(б) в 1927-36 годах и с 1939 года. В 1936 году исключён из членов ВКП(б) за родство с братом, лишённым избирательных прав (репрессированным).
В должности начальника штаба 503-го стрелкового полка участвовал в советско-финляндской войне 1939-1940 годов. В боях на Карельском перешейке ранен.
С июля 1940 года служил начальником штаба 386-го стрелкового полка 178-й стрелковой дивизии. Воинские звания: 1936 г. – старший лейтенант, 1937 г. – капитан, 1940 г. – майор.
Участник Великой Отечественной войны с июня 1941 года. Был командиром полка, начальником штаба и командиром стрелковой дивизии. Воевал на Калининском, Западном и 1-м Белорусском фронтах. Воинские звания: 31.12.41 – подполковник, 20.06.42 г. – полковник, 22.02.44 г. – генерал-майор. В боях 1 раз ранен.
Участвовал: - в оборонительных боях в районе Западной Двины, Ржева и Торжка – в 1941 году; - в зимнем контрнаступлении и боях за город Ржев – в 1942; - в освобождении Ржева, в Духовщинской и Смоленско-Рославльской операциях, в том числе в освобождении городов Сафоново, Ярцево, Смоленск – в 1943; - в боях на подступах к Витебску, в Брестско-Люблинской операции, в форсировании реки Западный Буг, в освобождении Польши, в форсировании реки Висла с завоеванием Пулавского плацдарма – в 1944; - в Висло-Одерской операции, в том числе в освобождении городов Радом, Томашув, Яроцин, в форсировании рек Пилица, Варта, Одер с завоеванием плацдарма, в Берлинской операции, в боях по ликвидации губенской группировки противника, в боях за выход на Эльбу в районе города Магдебург – в 1945.
Командир 274-й стрелковой дивизии генерал-майор В.П.Шульга проявил личное мужество и высокое искусство в управлении своим соединением при форсировании реки Висла 29 июля 1944 года юго-западнее города Пулавы и захвате плацдарма, прорыве 14 января 1945 года сильно укреплённой обороны противника с плацдарма, освобождении города Радом 16 января 1945 года, стремительном преследовании противника и захвате плацдарма за рекой Одер севернее города Франкфурт.
Указом Президиума Верховного Совета СССР от 6 апреля 1945 года за образцовое выполнение боевых заданий командования на фронте борьбы с немецко-фашистскими захватчиками и проявленные при этом мужество и героизм генерал-майору Шульге Василию Павловичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» (№ 5577).
После войны в 1948 году окончил Высшую военную академию Генштаба. Служил: в 1948-51 годах – командир 1-й гвардейской стрелковой дивизии Прибалтийского военного округа (ПрибВО); в 1951-54 годах – командир 57-й и 29-й гвардейских стрелковых дивизий 8-й гвардейской армии в составе Группы советских оккупационных войск в Германии (ГСОВГ); в 1954-56 годах – начальник противовоздушной обороны Одесского военного округа (ОдВО).
С ноября 1956 года генерал-майор В.П.Шульга – в запасе. Жил и работал в городе Одессе. Умер 30 декабря 1989 года. Похоронен в Одессе.
Награждён 2 орденами Ленина (06.04.1945; 06.11.1947), 3 орденами Красного Знамени (08.09.1943; 03.11.1944; 30.04.1954), 2 орденами Суворова 2-й степени (№№ 515 и 1198 от 28.09.1943; 23.08.1944), орденами Кутузова 2-й степени (№ 3361 от 29.05.1945), Отечественной войны 1-й степени (06.04.1985), Красной Звезды (21.03.1940), медалями «За взятие Берлина», «За победу над Германией», «ХХХ лет СА и ВМФ» и другими.
В сентябре 1922 года 19-летний крестьянин из села Пески, что на Полтавщине, Василий Шульга был призван в ряды РККА. Попал он в знаменитую Харьковскую «Школу Червоных старшин» - образцовое учебное подразделение Красной Армии - после окончания которой курсанты уже распределялись по другим военным школам. Так и Шульга в январе 1923 года стал курсантом Феодосийских, а в сентябре 1923 года – 8-х Симферопольских пехотных курсов. Два года Шульга прослужил в городе Баку командиром отделения и взвода в 5-м стрелковом полку 2-й Кавказской стрелковой дивизии имени Сталина. В августе 1925 год он поступил во Владикавказскую пехотную школу, приняв решение стать военным.
С 1927 года краском Шульга служил в прославленной 25-й Чапаевской стрелковой дивизии на Урале. Здесь вступил в партию большевиков. Отличная служба на должности командира взвода в 1929 году для Шульги омрачилась строгим выговором по партийной линии. Как раз в этом же году в СССР был разгромлен троскистско-зиновьевский антисоветский блок. Троцкистом оказался брат Василия Шульги, который был лишён избирательных прав и заключён в лагерь. Тем не менее, несмотря на выговор, Шульга продолжал службу и дошёл до должности начальника штаба стрелкового батальона.
В 1932 году Василий Шульга был переведён на аналогичную должность в 281-й отдельный стрелковый полк в город Ачинск Красноярского края. Здесь он прослужил 6 лет, стал командиром батальона, а в 1936 году – старшим лейтенантом. В этом же, 1936 году, продолжение истории с братом чуть не стало для Шульги роковым. В стране начались настоящие репрессии, и троцкисты в этих условиях превратились в германских шпионов, врагов народа. А Шульга в 30-е годы поддерживал письменную связь с братом. За это он был исключён из ВКП(б) с формулировкой: «за партийную пассивность и политическую неустойчивость», и сам оказался на волоске от репрессий. Но 1937 год ещё не наступил, город Ачинск был далеко от центра, и, видимо, начальство Шульги посчитало такое наказание достаточным для умного, перспективного командира, «покрыло» его.
Как бы то ни было, а Шульга до 1939 года прослужил в СибВО. В этом же, 1939 году он был восстановлен в ВКП(б), причём сделано было это, как будто Шульга вступил в партию только в 1939 году (в дальнейшем во всех официальных документах писалось – член ВКП(б) с 1939 года). Оправдал он это «мероприятие» очень скоро – уже в боях на Карельском перешейке в ходе советско-финской кампании, в которых участвовал в должности начальника штаба 503-го стрелкового полка, был ранен, проявил героизм и был награждён орденом Красной Звезды. После лечения майор Шульга был назначен начальником штаба 386-го стрелкового полка 178-й стрелковой дивизии. На этой должности его и застало начало Великой Отечественной войны.
Уже 29 июня 1941 года майор Шульга стал командиром 386-го стрелкового полка. 178-я стрелковая дивизия вошла в состав 29-й армии Калининского фронта и в сентябре 1941 года заняла оборону в районе станции Западная Двина железной дороги Великие Луки – Ржев. В октябре на бойцов Шульги обрушился страшной силы удар войск 9-й полевой армии вермахта, наступавшей на Ржев. Удержать врага даже ценой жизни не было никакой возможности. Многие бойцы пали в боях, а майору Шульге с остатками полка пришлось отходить сначала к Ржеву, а затем к селу Строшевичи, что на подступах к городу Торжок. Здесь полк Шульги совместно с другими подразделениями 29-й армии окончательно остановил врага.
Уже в должности начальника штаба 246-й стрелковой дивизии 29-й армии под командованием генерала В.И.Швецова майор (с 31 декабря – подполковник) Шульга участвовал в зимнем контрнаступлении. Дивизия Шульги перешла в наступление 5 декабря 1941 года и в первый же день прорвала оборону противника. Наступая на главном, Ржевском направлении, дивизия Шульги должна была по приказу командования взять город. Но фашисты встретили советские войска на подступах к Ржеву организованной меневренной обороной, ураганным огнём, бомбёжками с воздуха. В результате войска 29-й армии, в том числе и 246-я дивизия, гонимые неадекватными приказами командования, понесли огромные, если не сказать, катастрофические потери в боях первой половины 1942 года под Ржевом. Шульга в этих боях делал всё, что только мог. Без танков и поддержки авиации, его бойцы освобождали отдельные населённые пункты, но достичь Ржева так и не смогли.
В июне 1942 года Шульга стал полковником, а в июле был назначен командиром 274-й стрелковой дивизии 30-й армии Калининского фронта. Этой дивизией он командовал до самой Победы. А пока наступления на Ржев возобновлялись и в августе, и в сентябре, и в ноябре 1942 года. Этот город был самым близким к Москве местом дислокации группы гитлеровских армий «Центр», и за него противник держался всеми своими силами. И всё-таки полковник Шульга прошёл по улицам многострадального города. Как говорилось в сводке Совинформбюро от 3 марта 1943 года: "...Несколько дней назад наши войска начали решительный штурм города Ржева. Немцы давно уже превратили город и подступы к нему в сильно укреплённый район. Сегодня, 3 марта, после длительного и ожесточённого боя наши войска овладели Ржевом. По неполным данным, взяты следующие трофеи: танков - 112, орудий разного калибра - 78, паровозов - 35, вагонов - 1.200, складов разных - 5, а также много снарядов, мин, пулемётов, винтовок и другого военного имущества. Противник оставил на подступах к городу и в самом Ржеве убитыми до 2.000 солдат и офицеров. Первыми ворвались в город части генерал-майора тов. Куприянова А.Ф., генерал-майора тов. Олешева H. H. и полковника тов. Шульга В.П." Совинформбюро март 1943 г.
Весной 1943 года дивизия полковника Шульги, наступая в юго-западном направлении, освобождала населённые пункты Смоленской области, в том числе посёлок Холм-Жирковский и вышла на Днепр, где фронт стабилизировался до августа 1943 года. В этот период временного затишья 274-я стрелковая дивизия вошла в состав 31-й армии Западного фронта.
В августе 1943 года в ходе Духовщинской операции дивизия полковника Шульги освободила город Сафоново и вышла на подступы к городу Ярцево. За умелое командование подразделениями в этих боях полковник Шульга был награждён орденом Красного Знамени.
15 сентября 1943 года началась Смоленско-Рославльская операция. Прорвав оборону врага, уже на следующий день бойцы дивизии полковника Шульги ворвались в Ярцево и завязали уличные бои в городе. Сам комдив при штурме города показал себя как храбрый, инициативный, требовательный командир. После освобождения нескольких кварталов, он немедленно перенёс свой КП в город, и, несмотря на интенсивный обстрел врага, вёл оттуда управление своими войсками. 16 сентября 1943 года город Ярцево был освобождён. За массовый героизм, проявленный при штурме города, 274-я стрелковая дивизия получила почётное наименование «Ярцевской», а комдив полковник Шульга был награждён орденом Суворова 2-й степени.
В ходе дальнейшего наступления дивизия Шульги наступала вдоль Минского шоссе, своими действиями способствовала освобождению Смоленска, и в октябре 1943 года вышла на территорию Лиозненского района Витебской области Белоруссии. Всю осень и зиму 1943-44 годов войска Западного и 1-го Прибалтийского фронтов предпринимали попытки наступления на Витебск, но город гитлеровцам удалось удержать. В феврале 1944 года В.П.Шульге было присвоено воинское звание генерал-майора.
Весной 1944 года 274-я стрелковая дивизия была выведена в резерв, и после пополнения включена в 61-й стрелковый корпус 69-й армии 1-го Белорусского фронта. Дислоцировался он севернее города Владимир-Волынский.
17 июля 1944 года началась Брестско-Люблинская операция. 274-я стрелковая дивизия генерал-майора Шульги наступала на самом левом фланге всего 1-го Белорусского фронта, обеспечивая локтевую связь с подразделениями 3-й гвардейской армии 1-го Украинского фронта. 20 июля 1944 года 3 полка дивизии форсировали реку Западный Буг в районе населённого пункта Загурник. Преодолевая в день по 25-40 километров, 29 июля 1944 года штурмовые батальоны дивизии форсировали Вислу юго-западнее города Пулавы и овладели плацдармом на западном берегу. Шульга ежечасно наращивал присутствие своих частей на плацдарме. К 1 августа 1944 года 274-я стрелковая дивизия овладела населёнными пунктами Гнязкув и Петровень, отражая многочисленные контратаки противника, каждая при поддержке 8-15 танков и самоходных орудий. В этот день комдив сам переправился на плацдарм, перенёс туда свой КП и возглавил оборону. Весь август на Пулавском плацдарме гремели бои. Отразив контратаки противника, бойцы 274-й стрелковой дивизии генерал-майора Шульги принялись за расширение плацдарма, отодвинув линию фронта к населённым пунктам Насилув и Яновец. В одном из боёв генерал-майор Шульга был ранен в ногу, но лечился, не покидая руководства дивизией. За овладение Пулавским плацдармом комдив был награждён вторым орденом Суворова 2-й степени.
На Пулавском плацдарме генерал-майор Шульга провёл всю осень 1944 года. С этого плацдарма в январе 1945 года началось стремительное наступление 274-й стрелковой дивизии дальше на запад.
14 января 1945 года заранее подготовленные штурмовые батальоны в 274-й стрелковой дивизии перешли в стремительное наступление и вгрызлись в оборону противника, которая на Пулавском плацдарме состояла из 10-и линий вражеских траншей. Генерал-майор Шульга правильно наметил направления ударов штурмовых батальонов своих полков, и уже к концу дня все линии обороны противника были прорваны. В прорыв незамедлительно был введён 11-й танковый корпус генерал-майора И.И.Ющука. При поддержке танков 274-я стрелковая дивизия уже 16 января 1945 года ворвалась в польский город Радом и завязала уличные бои. К концу этого дня Радом был освобождён. Продолжая стремительное наступление, части дивизии форсировали реки Пилица и Варта, освобождали города Томашув и Яроцин, и к концу января 1945 года вышли на Одер севернее города Франкфурт, форсировав его по льду и захватив плацдарм на западном берегу. За умелое командование дивизией в ходе Висло-Одерской операции генерал-майору Шульге было присвоено звание Героя Советского Союза.
В апреле 1945 года подразделения 274-й стрелковой дивизии в составе 69-й армии участвовали в Берлинской операции. 16 апреля, перейдя в наступление с плацдарма севернее Франкфурта, войска дивизии генерал-майора Шульги прорвали оборону противника и, продвинувшись на 30 километров в западном направлении, достигли реки Шпрее в районе города Фюрстенвальде. Сюда же под давлением других соединений отошла крупная фашистская губенская группировка, оказавшаяся в окружении. Неделю подразделения Шульги сражались с отказавшимся капитулировать врагом, который предпринимал отчаянные попытки прорваться на запад в зону союзных войск. К 25 апреля группировка была оттеснена к городу Луккенвальде, где уничтожена. 26 апреля подразделения 274-й стрелковой дивизии заняли город Тройенбрицен и, совершив рывок, вышли на Эльбу в районе города Магдебург, где 1 мая 1945 года встретились с американскими войсками. Здесь, на Эльбе, и закончилась война для генерал-майора Шульги. За умелое командование дивизией в Берлинской операции он был награждён орденом Кутузова 2-й степени.
После войны в 1946 году В.П.Шульга поступил на учёбу в Военную академию Генштаба. После академии он командовал стрелковыми дивизиями в Прибалтийском военном округе и в Германии. Последней должностью перед выходом в запас была должность начальника войск ПВО Одесского военного округа. Здесь, в городе у Чёрного моря, Василий Павлович Шульга и остался жить навсегда…