Из дворян Смоленской губернии. В 1894 году окончил Владимирский Киевский кадетский корпус. Затем в 1896 году окончил 3-е Александровское военное училище, выпущен в чине подпоручика в лейб-гвардии Литовский полк. В 1902 году окончил Академию Генштаба по первому разряду, с переименованием из гвардии штабс-капитана в Генерального Штаба капитана.
С 1 февраля 1902 по 1 мая 1904 отбывал цензовое командование ротой в 168-м пехотном Миргородском полку.
С 6 ноября 1904 — старший адъютант штаба 42-й пехотной дивизии.
Со 2 января 1906 — помощник старшего адъютанта штаба Киевского военного округа.
С 8 января 1907 — штаб-офицер для поручений при штабе Киевского ВО.
Подполковник (22.04.1907).
Со 2 сентября 1908 по 24 сентября 1912 состоял в прикомандировании к Киевскому военному училищу для преподавания военных наук.
В 1910 отбывал цензовое командование батальоном в лейб-гвардии Литовском полку.
Полковник (06.12.1911).
С 24 сентября 1912 — старший адъютант штаба Киевского ВО.
С 19 июля 1914 — старший адъютант отдела генерал-квартирмейстера штаба 3-й армии, курировал вопросы разведки. За проведение рекогносцировки в сентябре 1914 у крепости Перемышль награждён Георгиевским оружием (11 апреля 1915).
С 20 апреля 1915 командовал 165-м Луцким пехотным полком. За бои у Бялы (19-22 апреля 1915) и у Мокры (25-27 апреля 1915) награждён орденом Святого Георгия 3-й степени.
Генерал-майор (6 декабря 1915).
С 22 декабря 1915 был помощником генерал-квартирмейстера штаба Юго-Западного фронта генерала Дитерихса. 25 мая 1916, после назначения генерала Дитерихса начальником 2-й Особой пехотной бригады, назначен генерал-квартирмейстером штаба Юго-Западного фронта. В июне-августе 1917 начальник штаба Юго-Западного, в августе-сентябре 1917 — Западного фронтов.
Генерал-лейтенант (4 августа 1917).
С 23 сентября 1917 года — начальник штаба верховного главнокомандующего А. Ф. Керенского. После бегства Керенского с 3 ноября — исполняющий обязанности верховного главнокомандующего.
9 ноября Ленин, Сталин и Крыленко вызвали Духонина по телефону, потребовав немедленно вступить в мирные переговоры с австро-германским командованием. Духонин отказался, заявив что такие переговоры может вести только центральное правительство, но не командующий армией. После этого ему объявили, что его снимают с поста главнокомандующего, но он должен продолжать выполнять свои обязанности до прибытия нового главнокомандующего прапорщика Крыленко.
см. также Быховское сидение
19 ноября Духонин распорядился освободить из тюрьмы в Быхове генералов Корнилова, Деникина и других лиц, арестованных после корниловского мятежа (см. также Быховское сидение).
20 ноября в Могилёв прибыл Н. В. Крыленко, который отдал приказ о своём вступлении в должность Главковерха и передал Духонину, что он будет отправлен в Петроград в распоряжение СНК.
Духонин был арестован и на автомобиле привезён на железнодорожный вокзал, где его отвели в вагон Крыленко. Однако по городу распространились слухи, что генерал Корнилов со своим полком идет на Могилев. У поезда собралась толпа революционных солдат и матросов, требующая выдать Духонина. Крыленко прибыл к вагону и попытался остановить толпу, но уговоры не подействовали. В вагон ворвались матросы, вывели Духонина на площадку, кто-то выстрелил ему в голову, а затем его добили штыками и прикладами.
Генерал Деникин в «Очерках русской смуты» пишет по поводу убийства Духонина следующее:
Похоронен в Киеве на Лукьяновском кладбище.
Выражение «отправить в штаб к Духонину», появившееся во время Гражданской войны в России, означало «убить», «расстрелять».