Окончил Северо-Кавказское Суворовское военное училище во Владикавказе в 1967 году. В Советской Армии с 1967 года. С 1967 года по 1971 год — курсант Ташкентского высшего танкового командного училища имени Маршала бронетанковых войск П. С. Рыбалко. После его окончания в 1971 году командовал танковым взводом, танковой ротой и танковым батальоном в войсках Центральной группы войск на территории Чехословакии. Три воинских звания присвоены досрочно.
В 1979 году окончил Военную академию бронетанковых войск имени Маршала Советского Союза Р. Я. Малиновского. Служил начальником штаба — заместителем командира мотострелкового полка, командиром танкового полка. В 1985—1987 годах воевал в Афганистане, находясь на должности военного советника командира афганской пехотной дивизии (ОКСВА).
С 1987 года — заместитель командира мотострелковой дивизии в Белорусском военном округе. С 1990 года — командир мотострелковой дивизии в Северной группе войск на территории Польши.
С 1993 года — командир мотострелковой бригады в Московском военном округе. В 1995 году назначен заместителем командующего 58-й общевойсковой армией в Северо-Кавказском военном округе. Активный участник боевых действий в период первой чеченской войны, руководил боевыми действиями весной и летом 1995 года в горной части Чечни, в частности операциями по захвату районных центров Ведено и Шатой. Весьма успешно применял тактические вертолётные десанты.
В 1997 году окончил Военную академию Генерального штаба Вооружённых Сил России и назначен командиром 8-го армейского корпуса Северо-Кавказского военного округа в Волгограде. С декабря 1998 года — заместитель командующего войсками Северо-Кавказского военного округа.
В этой должности с августа 1999 года участвовал в отражении вторжения чеченских боевиков в Республику Дагестан, с октября 1999 года — в боях второй чеченской войны. С октября 1999 года командовал войсками оперативной группировки «Север», с декабря 1999 — войсками оперативной группировкой «Грозный», с февраля по март 2000 года — войсками оперативной группировки «Центр» (действовала в Шатойском районе Чечни). Непосредственный руководитель боями по штурму Грозного в январе 2000 года.
С марта 2000 года генерал-лейтенант В. В. Булгаков — первый заместитель командующего войсками — начальник штаба СКВО Северо-Кавказского военного округа. С июля 2003 года — заместитель Главнокомандующего Сухопутными войсками Российской Федерации. С 8 сентября 2006 года — командующий войсками Дальневосточного военного округа.
С января 2009 года — в запасе по достижении предельного возраста нахождения на военной службе.
Герой России, генерал-полковник Геннадий Трошев в своих воспоминаниях дал очень лестную характеристику Владимиру Булгакову:
Генерал Трошев также отметил Булгакова как "страстного книголюба" и человека широчайшей эрудиции.