Из дворян Новгородской губернии. Сын тайного советника Корнилия Андреевича Соколова. Младший брат Владимир (1884—1918) — полковник лейб-гвардии Измайловского полка, также георгиевский кавалер.
За то, что в боях 13 и 14 августа 1914 года, при занятии нами с. Петриче и дальнейшем наступлении и овладении с боя позицией противника у Могилы, подвергая свою жизнь явной опасности, отлично организовал связь, правильно оценивал боевую обстановку и своими советами содействовал общему успеху.
За то, что, состоя начальником штаба 78-й пехотной дивизии, в декабре 1914 и январе 1915 годов и исполняя обязанности начальника штаба Стрыйского отряда, состоявшего из 5-ти пехотных и 4-х казачьих полков, рядом разведок, сопряженных с личной для него опасностью, добыл и представил такие важные сведения о противнике которые раскрыли истинный план и намерения последнего, что дало возможность начальнику Стрыйского отряда с полным успехом выполнить поставленную ему задачу по обороне Карпатских проходов.
15 июня 1915 года произведен в полковники, а 22 марта 1916 года назначен командиром 311-го пехотного Кременецкого полка. 14 октября 1916 года отчислен от занимаемой должности за ранами, с назначением в резерв чинов при штабе Киевского военного округа. 21 июня 1917 года назначен начальником штаба 1-го Туркестанского армейского корпуса. Произведен в генерал-майоры после 19 сентября 1917 года.
В августе—сентябре 1918 года служил в гетманском министерстве продовольствия. Позднее в том же году вступил в РККА, в 1919 году выехал из Советской России за границу. В эмиграции во Франции. Умер в 1937 году в Сен-Кантене. Похоронен на местном кладбище Гоши.