Родился в местечке Кричев Чериковского уезда Могилёвской губернии(ныне город Могилёвской области). Русский. С детства жил в Ленинграде. Окончил 7 классов и школу ФЗУ. Работал судовым сборщиком.
В Красной Армии с 1938 года. В 1940 окончил Чугуевское военное авиационное училище. В действующей армии в период Великой Отечественной войны с начала боевых действий.
В ходе Сталинградской битвы совершил 127 боевых вылетов, провёл 38 воздушных боёв. Лично сбил 6, в группе – ещё 4 самолёта противника. Эскадрилья лейтенанта Столярова приняла участие в 39 воздушных боях, не потеряв ни одного самолёта.
Указом Президиума Верховного Совета СССР от 8 февраля 1943 «за образцовое выполнение боевых заданий командования на фронте борьбы с немецкими захватчиками и проявленные при этом отвагу и геройство» было присвоено звание Героя Советского Союза.
В 1960 году уволился в запас в звании полковника.
Жил в городе Троицк Челябинской области. Умер 14 августа 1985 года. Похоронен в городе Троицк.