Происходил из дворян Херсонской губернии и был братом генерал-майора П. Б. Никонова. Службу начал в Черноморском флоте с ноября 1809 г. гардемарином, в 1812 г. был произведён в мичманы, в 1816 г. — в лейтенанты, с 1821 г. командовал транспортом «Лев»; в 1828 г. получил боевое крещение, командуя транспортом «Сухум-Кале», с которым пришёл из Николаева в Архипелаг и принимал участие в пленении корвета «Наварин»; в следующем году Никонов участвовал в перевозе запасов к эскадре, блокировавшей Дарданеллы.
В 1832 г. Никонов был назначен старшим адъютантом Черноморского флота и портов, а через два года, командуя фрегатом «Агатополь», плавал у абхазских берегов.
В 1837 г. Никонов, в чине капитана 2-го ранга, командовал фрегатом «Архипелаг» и принимал участие в боевых действиях против горцев, при высадке и занятии мыса Адлер. Переведённый вскоре в Балтийский флот, Никонов 3 декабря 1839 г. за выслугу 25 лет в офицерских чинах был награждён орденом св. Георгия 4-й степени (№ 6063 по списку Григоровича—Степанова) и в 1839 г. произведён в капитаны 1-го ранга с назначением командиром фрегата «Венус».
С 1842 г. Никонов командовал 15-м флотским экипажем, в 1849 г. был произведён в контр-адмиралы и назначен командующим 3-й бригады 2-го флотского дивизиона, а 18 мая 1855 г. — командиром 1-й бригады 3-го флотского дивизиона.
В 1855 г. Никонов получил назначение состоять членом общего присутствия артиллерийского департамента Морского министерства и в следующем году 26 августа был произведён в вице-адмиралы.
Зачисленный в 1859 г. по резервному флоту, Никонов в октябре 1861 г. произведён в адмиралы с увольнением от службы.
11 мая 1880 г. Никонов скончался в Петербурге и был погребен на кладбище Новодевичьего монастыря.