Родился в семье военнослужащего. Окончил Новосибирского электротехнический институт; Новосибирскую высшую партийную школу.
1964—1965 гг. — рабочий авиационного завода им. Чкалова,
1965—1980 гг. — по распределению уехал в Томск, затем вернулся в Новосибирск, работал в проектно-конструкторском бюро завода «Экран», в СКБ Сибирского Государственного НИИ Метрологии рабочим, техником, инженером-конструктором, ведущим конструктором.
1980—1981 гг. — инструктор Железнодорожного районного,
1981—1988 гг. — инструктор Новосибирского обкома КПСС,
1988—1989 гг. — начальник отдела Новосибирского облисполкома,
1989—1990 гг. — второй,
1990—1991 гг. — первый секретарь Бердского горкома КПСС,
1991—1992 гг. — начальник отдела Новосибирского антимонопольного управления,
1993—2003 гг. — секретарь,
2003—2006 гг. — первый Новосибирского областного комитета КПРФ. Депутат Новосибирского областного Совета депутатов двух созывов, работал председателем комитета по законодательству.
2003—2007 гг. — депутат Государственной думы РФ, заместитель председателя комитета по местному самоуправлению,
2007—2010 гг. — руководитель Юридической службы Новосибирского обкома КПРФ,
с 2010 г. — депутат Законодательного собрания Новосибирской области, руководитель фракции КПРФ в Законодательном собрании.
В статьях журналиста Игоря Лихоманова из газеты «Новосибирские Новости» Кузнецов неоднократно обвинялся в сговорах с местной администрацией.