Родился 17 ноября 1907 года (10) (23 ноября 1907) (1909) года на станции Трудовая Цюрупинского района Херсонской области (Украина), в рабочей семье. Русский.
В Красной Армии с 1931 года.
С 1931 года красноармейцем служил в отдельной роте связи.
В Военно-Морском флоте с 29 октября 1932 года.
Окончил Военно-морское училище им. Фрунзе в 1936 году.
С 1936 года служил штурманом подводной лодки «М-74» Балтийского флота.
Присвоено звание старшего лейтенанта.
С 1938 года до 31 марта 1939 года командовал подводной лодкой «М-74» Балтийского флота.
Участвовал в национально-революционной войне в Испании с 1938 года по 1939 год, был советником (помощником) командира подводной лодки «С-2», с 25 сентября (с ноября) по 23 декабря 1938 года командовал подводной лодкой «С-1» республиканского флота (в это же время формально оставался командиром подводной лодки «М-74» Балтийского флота).
Имел псевдоним «Хуан Гарсиа».
В 1939 году получил звание капитан-лейтенанта.
С 31 марта 1939 года по 24 декабря 1940 года был командиром подводной лодки «Щ-307» Балтийского флота.
Окончил Высшие специальные курсы командного состава при Учебном отряде подводного плавания им. Кирова в 1941 году.
10 июня 1941 года был назначен командиром подводной лодки «Щ-301» Балтийского флота.
Участвовал в Великой Отечественной войне с июня 1941 года. Командуя «Щ-301», с 10 по 28 августа 1941 года участвовал в боевом походе, потопил два транспорта (по другим данным, произвел три безрезультатные торпедные атаки с выпуском четырех торпед).
28 августа 1941 года в 21 час 15 минут, при прорыве флота из Таллина в Кронштадт, «Щ-301» подорвалась на мине и погибла в районе острова Кери. Командира и несколько других членов экипажа спасли подошедшие катера типа и пересадили на транспорт «Вирония», который вскоре так же подорвался на мине и затонул. На этот раз из экипажа «Щ-301» спаслось всего двое: один матрос и командир. Их подобрал сторожевой катер и передал на транспорт «Казахстан», который был поврежден авиацией противника и выбросился на берег острова Вайндло. Матрос погиб, а Грачев был ранен в ногу. Всего за один день трижды получал контузии и ранения, вследствие чего проходил курс лечения в госпитале.
С 1 (17) октября 1941 года был командиром подводной лодкой «Щ-405» Балтийского флота.
21 марта 1942 года ему было присвоено звание капитана 3-го ранга.
Вечером 11 июня 1942 года подводная лодка «Щ-405» вышла из Кронштадта в Финский залив по направлению к острову Лавенсаари. В ночь на 13 июня лодка прошла остров Сескар, но в Лавенсаари не прибыла. Днем 15 июня сторожевые катера обнаружили у острова Сескар двух погибших моряков с лодки, а на следующий день волнами к острову прибило мертвое тело командира. Подробности гибели «Щ-405» до сих пор не установлены, вероятней всего, она подорвалась на мине. Погибшие подводники были похоронены на острове Сескар. После войны они были перезахоронены на воинском кладбище в поселке Мартышкино Ломоносовского района Ленинградской области (Россия).
Награжден орденом Красного Знамени (15.04.1942).