Родился 20 марта 1963 г. в Сормовском районе Горького (ныне Нижний Новгород).
Окончил профессионально-техническое училище №5 в Горьком (ныне Сормовский механический техникум им. Героя Советского Союза П. А. Семенова), в 1990 г. - Всесоюзный юридический институт (ныне Московский государственный юридический университет им. О. Е. Кутафина) по специальности "правоведение".
С 1979 г. работал в сборочно-сварочном цехе завода "Красное Сормово" слесарем-ремонтником сварочного оборудования.
С 1982 по 1984 г. служил в танковых войсках в Северной группе войск в Польше. Получил специальность "мастер по ремонту бронетанковой техники".
После возвращения из армии вернулся на завод. В 1985 г. был направлен в отдел вневедомственной охраны Сормовского районного отдела внутренних дел Горьковского УВД. В органах внутренних дел служил до 1990 г.
В 1990 г. работал юрисконсультом в Горьковском производственном охотничье-рыболовном объединении.
В 1990-1993 гг. - член коллегии Нижегородской областной коллегии адвокатов.
В 1993-1995 гг. - депутат Государственной думы I созыва. 12 декабря 1993 г. был избран в нижнюю палату парламента по Канавинскому одномандатному округу №120 (Нижегородская обл.). В Думе сначала входил в депутатскую группу "Либерально-демократический союз 12 декабря", затем - в группу "Стабильность". Был членом комитетов по международным делам, по бюджету, налогам, банкам и финансам.
В феврале 1995 г. на учредительной конференции Всероссийского движения избирателей "Союз "Весна" в Нижнем Новгороде был избран генеральным секретарем организации.
17 декабря 1995 г. проиграл выборы в Госдуму II созыва по Канавинскому одномандатному округу №120 депутату гордумы Нижнего Новгорода Ольге Беклемищевой (10,98% против 18,07% голосов).
В 1996-1999 гг. - депутат городской думы Нижнего Новгорода II созыва, избранный по избирательному округу №18 Сормовского района. Возглавлял комитет по местному самоуправлению. Депутатские полномочия исполнял на непостоянной основе.
В 1996-1999 гг. занимал пост генерального директора нижегородского ЗАО "Телестанция "Сети-НН" (в 2006 г. приобретена телекомпанией "Рен ТВ").
29 июня 1997 г. в качестве самовыдвиженца принял участие в выборах губернатора Нижегородской области. Набрал 8,15% голосов, заняв третье место среди пяти кандидатов, и во второй тур не прошел (3 июля 1997 г. главой региона избран Иван Скляров).
В 1999-2002 гг. - депутат Государственной думы III созыва. Был избран 19 декабря 1999 г. по Канавинскому одномандатному округу №120 (29,08% голосов). В Думе входил в комитеты по информационной политике, по промышленности, строительству и наукоемким технологиям. Был заместителем председателя депутатской группы "Народный депутат". Полномочия сложил досрочно в 2002 г. в связи с переходом на госслужбу.
С октября 2001 г. возглавлял нижегородское региональное отделение Народной партии Российской Федерации (НПРФ; образована на базе группы "Народный депутат").
С октября 2002 г. - член партии "Единая Россия".
В 2002-2010 гг. - мэр Нижнего Новгорода. Был избран 29 сентября 2002 г. во втором туре выборов, набрав 35,09% голосов, его ближайший соперник, действующий глава города, Юрий Лебедев получил 34,53% (в первом туре 15 сентября: Булавинов - 30,85%, Лебедев - 31,47%). Переизбран на новый срок 16 октября 2005 г. (77,56%), второе место занял первый секретарь нижегородского обкома КПРФ Николай Рябов (7,07%).
В декабре 2007 г. Вадим Булавинов вошел в состав списка кандидатов от партии "Единая Россия" в Госдуму V созыва (второй номер региональной группы №56, Нижегородская обл.), однако после выборов от мандата отказался, оставшись на посту главы Нижнего Новгорода.
С 2010 г. - депутат Государственной думы, член фракции "Единая Россия".
В 2010-2011 гг. - депутат Государственной думы V созыва. 30 декабря 2010 г. ЦИК России передал Вадиму Булавинову мандат депутата Госдумы от Нижегородской области Валерия Корнилова, который сложил полномочия досрочно "по семейным обстоятельствам". 13 января 2011 г. Вадим Булавинов приступил к исполнению депутатских полномочий.
В 2011-2016 гг. – депутат Государственной думы VI созыва. 4 декабря 2011 г. он был избран в Госдуму по федеральному списку "Единой России" (баллотировался под вторым номером региональной группы №54, Нижегородская обл.). В октябре 2012 г. был выдвинут на пост главы партийной фракции, по итогам голосования занял второе место (18 голосов из 165) после Владимира Васильева (136 голосов).
В 2012-2014 гг. возглавлял Приволжский межрегиональный координационный совет партии "Единая Россия".
В 2016-2021 гг. – депутат Государственной думы VII созыва. 18 сентября 2016 г. избран в Госдуму от "Единой России" по Канавинскому одномандатному округу №132 (Нижегородская обл.). Набрал 55,53%, второе место занял кандидат от КПРФ Александр Тарнаев (14,16%). В Думе Вадим Булавинов занял пост заместителя председателя комитета по жилищной политике и жилищно-коммунальному хозяйству.
В октябре - декабре 2017 г. - и. о. секретаря нижегородского регионального отделения партии "Единая Россия".
С 2021 г. - депутат Государственной думы VIII созыва от "Единой России". Был избран 19 сентября 2021 г. по Канавинскому одномандатному избирательному округу №132 (Нижегородская обл.). Набрал 44,8% голосов (второе место в округе занял гендиректор частного охранного предприятия "Комбат", депутат г. Дзержинска Александр Терентьев от КПРФ, 23,8%).
Награжден медалью ордена "За заслуги перед Отечеством" II степени (2002).