Родился в 1832 году, происходил из старинного русского дворянского рода Колокольцовых, сын капитан-лейтенанта Александра Васильевича Колокольцова.
26 февраля 1841 года поступил в морскую роту Александровского кадетского корпуса, 16 января 1842 года переведён в Морской кадетский корпус и 15 августа 1848 года произведён в гардемарины.
В 1849 и 1850 годах на кораблях «Ингерманланд», «Фершампенуаз» и «Константин» проходил практическое плавание в Балтийском море. 9 августа 1850 года был произведён в мичманы и назначен в Черноморский флот. В 1851 году на фрегате «Сизополь» крейсировал у берегов Северного Кавказа и в конце кампании находился на яхте «Стрела» на Севастопольском рейде. В 1852 году на траспортах «Ренни» и «Днестр» плавал у берегов Абхазии.
В 1853 году Колокольцов в чине лейтенанта состоял на корабле «Ростислав» и участвовал в Синопском сражении. За отличие был награждён орденом св. Владимира 4-й степени с бантом. 22 января 1856 года он был награждён орденом св. Георгия 4-й степени (№ 9898 по кавалерскому списку Григоровича—Степанова)
В 1854 году Колокольцов находился на Севастопольском рейде, а после затопления Черноморского флота он вошёл в число защитников Севастополя и сражался на Малаховом кургане, а затем командовал батареей на 5-м отделении. 13 апреля 1855 года он был награждён золотой саблей с надписью «За храбрость». 26 мая того же года он при отражении общего штурма Севастополя был ранен в шею штуцерной пулей.
По окончании Крымской войны Колокольцев был переведён на Балтийский флот и заначен командиром винтовой лодки «Дым», плавал междйу Кронштадтом и Санкт-Петербургом. В конце 1856 года он был назначен в 35-й флотский экипаж в Николаеве. В 1857 году он на пароходе «Ординарец» ходил из Николаева до Дуная и оттуда вверх по реке до Галаца. В 1858 году на корвете «Рысь» находился в крейсерстве у Кавказского побережья Чёрного моря и неоднократно принимал участие в десантных высадках на берег и перестрелках с горцами.
В 1859 году Колокольцов был вновь переведён на Балтику, где командовал винтовыми лодками «Порыв» и «Ёрш» и плавал в финляндских шхерах. 1 января 1863 года он был произведён в капитан-лейтенанты и 12 ноября того же года назначен младшим помощником капитана над Петербургским портом. Затем он до 1867 года заведовал Новым Адмиралтейством и Новой Голландией, за отличное исполнение служебных обязанностей в 1864 году он получил орден св. Станислава 2-й степени с императорской короной. В 1867—1873 годах Колокольцов заведовал Гребным портом, причём в 1869 году он получил орден св. Анны 2-й степени (императорская корона к этому ордену пожалована в 1873 году) и 1 января 1871 года произведён в капитаны 2-го ранга. В 1873—1883 годах он заведовал Галерным островом и лоцманской командой Санкт-Петербургского порта, 1 января 1875 года получил чин капитана 1-го ранга.
26 ноября 1883 года Колокольцов вышел в отставку с производством в контр-адмиралы.
Скончался в 1891 году. Похоронен в Вышневолоцком уезде Тверской губ. (ныне кладбище у д. Касково-Сигово Удомельского р-на). В настоящее время здравствует большое число его потомков, несущих фамилию Колокольцовы и Колокольцевы.
Его брат Александр был контр-адмиралом и генерал-лейтенантом, начальствовал над Обуховским сталелитейным заводом и входил в число членов Адмиралтейств-совета.