Родился в 1827 году, происходил из дворян Донского казачьего войска, в военную службу вступил в середине 1840-х годов и 14 августа 1847 года получил первый офицерский чин. Принимал участие в Крымской войне и в 1856 году был награждён орденом св. Станислава 3-й степени.
Произведённый в 1859 году в подполковники Курнаков в 1863—1864 годах сражался в Польше с повстанцами, за отличие был награждён орденом св. Владимира 4-й степени с мечами и бантом.
Продолжая службу по Донскому казачьему войску Курнаков в 1867 году был произведён в полковники, в 1873 году получил орден св. Анны 2-й степени и накануне русско-турецкой войны был назначен командиром 21-го Донского казачьего полка.
С началом военных действий он находился на Балканах, за отличие против турок 10 сентября 1877 года он был произведён в генерал-майоры (со старшинством от 4 июля). 5 октября он был награждён орденом св. Георгия 4-й степени
В 20-х числах ноября 1877 года Курнаков был двинут на город Златицу и занял Златицкий перевал. 21 ноября колонна генерала Курнакова спустилась к Златице со стороны Этрополя, овладела пригородными селениями Клисса и Челопечени и заставила противника отступить в златицкий укреплённый лагерь. После нескольких дней этот лагерь капитулировал. За это дело он был награждён орденом св. Владимира 3-й степени с мечами и 19 мая 1878 года ему была пожалована золотая сабля с надписью «За храбрость».
По окончании военных действий Курнаков состоял без должности по Донскому казачьему войску, а в начале 1883 года получил в командование 2-ю бригаду 1-й кавалерийской дивизии. В 1885 году перемещён на такую же должность в 1-ю бригаду 4-й кавалерийской дивизии.
Скончался Курнаков 12 апреля 1886 года в Санкт-Петербурге, похоронен на кладбище Воскресенского Новодевичьего монастыря.
Среди прочих наград Курнаков имел ордена: