Родился в станице Упорной в 1914 году. Проживал с семьей в станице Ахметовской Упорненского района. Мобилизован в Красную Армию Упорненским райвоенкоматом 5 июля 1941 года, направлен в Армавирский пересыльный пункт. Воевал в составе 1272-го стрелкового полка 384-й стрелковой дивизии 11-й армии Северо-Западного фронта, которая с февраля 1942 года держала оборону под Старой Руссой. По сведениям отца, Мильшина Дениса Марсовича, письменная связь с сыном прекратилась 2 апреля 1942 года. Признан пропавшим без вести с апреля 1942 года. Имя Ивана Денисовича Мильшина внесено в 17-й том Книги Памяти Краснодарского края.