Иван Дмитриевич Васильев родился 20 сентября (3 октября) 1897 года в Санкт-Петербурге. Русский.
В 1918 году вступил в ВКП(б). В Красной Армии с 1919 года. Участник Гражданской войны. В 1928 году окончил Военную академию имени М. В. Фрунзе.
На следующий день после начала Великой Отечественной войны полковник И. Д. Васильев назначен командиром 14-й танковой дивизии. Во главе дивизии участвовал в Лепельском контрударе (6—10 июля 1941 года), затем в Смоленском сражении. 29 августа 1941 года 14-я танковая дивизия была расформирована, а сам Васильев был назначен начальником Соликамского аэросанного училища. В дальнейшем — начальник штаба 2-го механизированного корпуса, командир 19-й гвардейской стрелковой дивизии (19.12.42—27.1.43).
3 февраля 1943 года полковник Васильев И. Д. назначен командиром 19-го танкового корпуса, которым командовал до конца войны. 7 февраля 1943 года получил звание генерал-майор танковых войск, 27 октября 1943 года — генерал-лейтенант танковых войск.
В первых числах ноября 1943 года, на завершающем этапе Мелитопольской операции, танкисты и стрелки под руководством генерал-лейтенанта Васильева обеспечили прорыв сильно укреплённого немецкими войсками Турецкого вала, чем в значительной степени облегчили последующее освобождение Крыма.
В апреле 1944 года в ходе Крымской операции 19-му танковому корпусу предстояло решить важнейшую задачу по разгрому немецких войск, однако при проведении рекогносцировки И. Д. Васильев был тяжело ранен и командование корпусом принял его заместитель.
5 июля 1945 года И. Д. Васильев назначен командиром 10-го механизированного корпуса, который участвовал в разгроме Квантунской армии Японии.
С 1963 года генерал-полковник танковых войск Васильев И. Д. в отставке. Жил в городе-герое Москве. Иван Дмитриевич Васильев скончался 24 февраля 1964 года. Похоронен на Новодевичьем кладбище.