Родился 6 (19) мая 1915 года в селе Сазда Оренбургской губернии в крестьянской семье. По национальности русский.
С 1935 по 1937 год проходил срочную службу в Иркутске, где, после демобилизации и остался жить. Работал в органах НКВД СССР на станции Иркутск-II.
В октябре 1941 года повторно призван в Красную армию. Окончил Борисовское военно-политическое училище и с марта 1942 года на фронте.
15 августа 1944 года на территории Шакяйского района Литовской ССР под прикрытием артиллерии с небольшой группой бойцов Шаповалов первым ворвался траншеи гитлеровцев. Вслед за ними в атаку поднялся весь батальон. В ходе жесточайшего рукопашного боя фашисты были выбиты, но предприняли меры к возврату потерянного рубежа и перешли в контратаку. Бойцы батальона Шаповалова пропустили через траншеи вражеские танки, но отрезали путь пехоте. В ходе боя, в результате разрыва снаряда, замполит Шаповалов получил серьёзное ранение ноги. Однако он не покинул поле боя и превозмогая жуткую боль продолжал командовать. После очередного ранения он потерял сознание и был эвакуирован сослуживцами.
От ран и большой потери крови умер в госпитале через два дня, 17 августа 1944 года.