Родился в 1913 году в деревне Коренево ныне Сокольского района Нижегородской области в семье крестьянина. Русский.
Образование начальное. Работал в колхозе. В августе 1941 года был призван в Красную Армию. На фронте с сентября 1941 года. Защищал подступы к столице. В составе 36-й сапёрной бригады минировал дороги, мосты, строил оборонительные рубежи в района Волоколамска и Можайска.
Член ВКП(б) с 1943 года. В начале 1943 года сержант Соколов был назначен командиром сапёрного отделения.
Участвовал в июне 1944 года в прорыве Витебского укреплённого района. Отличился в боях за освобождение Прибалтики.
Похоронен в 7 км северо-западнее литовского города Казлу-Руда.