Происходил из мещан Костромской губернии. Выпускник Петербургского Владимирского училища. Закончил ускоренные курсы Академии Генерального штаба.
С ноября 1919 года служил начальником штаба Отдельной Семиреченской армии.
Начальник штаба отряда, отказавшегося 29 февраля 1920 года принять ультиматум командования Красной армии и сложить оружие, и ушедшего весной 1920 года в Китай.
Добился освобождения арестованного китайскими властями и посаженного в тюрьму г. Урумчи начальника отряда генерала Б. В. Анненкова.
Был захвачен в Китае большевиками обманным путём: захвачен командующим 1-й Китайской народной армией маршалом Фэн Юйсяном и (за крупное денежное вознаграждение) передан чекистам вместе с Б. Анненковым.
24 августа 1927 года расстрелян вместе с Анненковым в Семипалатинске.
7 сентября 1999 года Военная коллегия Верховного Суда РФ отказала в реабилитации Б. В. Анненкова и Н. А. Денисова.