Родился в 1784 году, начал службу рядовым в Изюмском гусарском полку в 1801 году, в 1802 году был переведён эстандарт-юнкером в лейб-гвардии Гусарский полк.
Произведённый в 1804 году корнеты, участвовал с полком в кампании 1805 года, за отличие при Аустерлице награждён орденом св. Анны 4-й степени на саблю; 20 мая 1808 года за Фридландское сражение получил золотую шпагу с надписью «За храбрость».
В Отечественную войну 1812 года был ротмистром лейб-гвардии Конного полка и находился в сражениях при Лукомле, Чашниках, Борисове; за отличие в первом сражении при Полоцке был 4 сентября награждён орденом св. Георгия 4-й степени (№ 1064 по кавалерскому списку Судравского и № 2431 по списку Григоровича—Степанова)
За сражение на Березине получил чин полковника и орден св. Анны 2-й степени.
В заграничных походах 1813—1814 годов Кнорринг сражался при Люцене, Бауцене, Дрездене, Кульме, Лейпциге, Бриенне, Фершампенуазе и Париже и за мужество, проявленное в делах с французами получил алмазные знаки к ордену св. Анны 2-й степени и орден св. Владимира 3-й степени, а также от прусского короля особый Железный крест.
Произведённый в 1817 году в генерал-майоры, а в 1829 году — в генерал-лейтенанты, Кнорринг командовал Подольским кирасирским полком (впоследствии лейб-гвардии Кирасирский Его Величества полк), 1-й бригадой гвардейской кавалерийской дивизии и гвардейской кавалерийской дивизией, во главе которой участвовал в усмирении польского мятежа 1831 года, где принимал участие в сражениях на Гроховском поле, при штурме варшавского предместья Праги, на Понарских высотах и при Калише.
В 1835 году Кнорринг был назначен командиром гвардейского резервного кавалерийского корпуса; 6 декабря 1838 года пожалован генерал-адъютантом, в 1841 году произведён в генералы от кавалерии, в 1853 году назначен членом военного совета.
Умер 5 января 1864 года (исключён из списков Свиты 7 января).