Родился в семье судебного чиновника.
Окончил Институт инженеров путей сообщения (1897). В годы учёбы активно участвовал в студенческой общественной жизни, принадлежал к радикальным несоциалистическим кружкам. Участвовал в строительстве Московско-Киево-Воронежской железной дороги. С 1903 — управляющий Новозыбковской дистанции подъездных путей.
В 1904 присоединился к либеральному движению. В 1906 вступил в Конституционно-демократическую партию (Партию народной свободы), член её Центрального комитета с 1911. В 1907 был членом II Государственной думы от Черниговской губернии, входил в состав бюджетной и финансовой комиссий.
В течение десяти лет был председателем железнорожного отдела Московского технического общества. Руководил разработкой проекта строительства московского метро, который не был реализован из-за Первой мировой войны. Позднее этот проект был использован при строительстве первой линии Московского метрополитена. С 1915 — член Главного комитета по снабжению армии (Земгор), с января 1917 — товарищ председателя отдела путей сообщения Земгора. Входил в состав Московского военно-промышленного комитета, Московского городского комитета Всероссийского союза городов. Гласный московской городской думы, член Московской городской управы (с 1915), товарищ Московского городского головы (с 1917), руководил отделом снабжения армии при Московской городской управе.
С 24 июля по 31 августа 1917 был министром путей сообщения во втором коалиционном составе Временного правительства. Заключил с американским инженером-предпринимателем Дж. Стивенсоном соглашение об устройстве во Владивостоке мастерских для сборки поступающих из США паровозов и вагонов. Был противником радикальных преобразований в управлении железными дорогами и вмешательства в деятельность ведомства различных политических сил. Не поддерживал требований железнодорожников о повышении им зарплаты. В дни выступления Л. Г. Корнилова отказался передать обращение А. Ф. Керенского к железнодорожникам с требованием не выполнять приказов генерала, хотя до этого был противником переворота, заявляя, что «нельзя одновременно участвовать в правительстве и его свергать». Покинул правительство вместе с другими министрами-кадетами, не желая участвовать в борьбе против Корнилова.
Осенью 1917 был членом Предпарламента от кадетской партии. После прихода к власти большевиков, возглавляя московское отделение Всероссийского союза инженеров, организовывал саботаж технической интеллигенции. В октябре 1918 уехал в Харьков, затем в Одессу, где стал руководителем местного отделения «Национального центра», объединившего антибольшевистски настроенных либералов. В 1919 был председателем организации Союза городов при Добровольческой армии в Ростове-на-Дону.
В начале 1920 эмигрировал в Константинополь, где открыл Русскую гимназию для детей эмигрантов; руководил сетью средних учебных заведений и детских приютов в Болгарии, Югославии, Чехословакии. Жил в Белграде, Праге, затем во Франции, где вёл крестьянское хозяйство в Нормандии, продавал масло в Париже, участвовал в деятельности Земско-городского комитета и Союза русских инженеров. Так и не смог адаптироваться к эмигрантской жизни. Позднее переехал в Париж, где зарабатывал на жизнь стиркой белья, во время немецкой оккупации был сторожем и огородником при заводе в одном из парижских предместий. В конце жизни приветствовал успехи советских войск на фронтах Великой Отечественной войны.