Родился в 1740 г. Записанный недорослем во флот, он не явился на службу ни в первый, ни во второй назначенный ему срок, за что 25 мая 1757 году был записан в матросы «вечно». Однако, спустя два года, он был не только всемилостивейше помилован, но и зачислен кадетом в Морской кадетский корпус, где 18 февраля следующего года был произведён в гардемарины, а еще через год в кадетские подпрапорщики. В начале 1762 года «за отменные пред прочими ответы» на экзаменах в Морском кадетском корпусе был произведён в мичманы.
В первые годы своей службы Одинцов плавал на разных судах преимущественно в Балтийском море, причём сделал один переход из Архангельска в Кронштадт; в Семилетней войне участвовал в Кольбергской экспедиции.
Как один из лучших молодых морских офицеров, Одинцов был командирован в 1763 г. в Англию для изучения морской службы, а в следующем году отправился из Англии волонтёром в Северную Америку. По возвращении в Россию, Одинцов в апреле 1766 был произведён в лейтенанты «за бытность на английских кораблях в разных частях света». Затем он сделал переход из Кронштадта в Архангельск, а с 1769 по 1775 год на фрегате «Надежда Благополучия» плавал в Средиземном море и Архипелаге, причём участвовал в Морейской экспедиции и в атаке Митилены. 31 декабря 1772 года Одинцов был произведён в капитан-лейтенанты, а в 1775 году на корабле «Чесма» возвратился из Архипелага в Ревель.
C 1776 года командовал три года фрегатом «Григорий» и совершил на нём плавание из Кронштадта в Константинополь; 26 ноября 1778 г., уже в чине капитана 2-го ранга, был награждён орденом св. Георгия 4-й степени за 18 полугодовых морских кампаний (№ 304 по списку Григоровича—Степанова).
Командуя сначала кораблем «Спиридон», а потом «Саратов», он некоторое время плавал в Средиземном море и в 1781 году был произведён в капитаны 1-го ранга, после чего командовал кораблём «Храбрый», в 1876 г. кораблём «Ярослав», а через год, 22 сентября 1787 г. был произведён в капитаны генерал-майорского ранга и назначен командиром корабля «Св. Ианнуарий».
Командуя стопушечным кораблем «Ростислав», Одинцов в 1788 году участвовал в Гогландском сражении со шведами и за выказанную в этом деле храбрость был награждён золотой шпагой с надписью «За храбрость». Произведённый 14 апреля 1789 года в контр-адмиралы, он в апреле 1793 года по болезни был уволен в отставку и умер в 1795 году.