В период Гражданской войны Иван Григорьевич Захаркин служил на Южном фронте, выступая в роли командира батальона и полка. В межвоенный период он занимал различные ответственные должности, такие как начальник оперативного управления штаба Витебского района, начальник оперативного отдела штаба Северо-Кавказского военного округа, начальник штаба 15-го стрелкового корпуса, командир 66-го стрелкового полка, начальник отдела боевой подготовки штаба Приволжского военного округа, а также начальник пехотной школы в г. Ульяновск.
С апреля 1930 года И. Г. Захаркин занимал пост командира и комиссара 64-й стрелковой дивизии, а с ноября 1931 года он работал преподавателем Военной академии имени М. В. Фрунзе. С июля 1937 года он был начальником штаба Киевского военного округа, а с мая 1938 года – начальником штаба Харьковского военного округа. В период с июля 1938 года по август 1941 года И. Г. Захаркин занимал должность заместителя командующего войсками Московского военного округа.
В 1939 году И. Г. Захаркин участвовал в походе Красной Армии в Западную Белоруссию, где командовал 10-й армией. С началом Великой Отечественной войны, с августа 1941 года, он стал командующим 49-й армией Резервного фронта, а с октября того же года – Западного фронта.
Под командованием И. Г. Захаркина войска 49-й армии отличились в Можайско-Малоярославецкой оборонительной операции. В ноябре 1941 года соединения армии одержали победу над 13-м армейским корпусом противника и в начале декабря успешно остановили его наступление на рубеже Серпухов, Суходол. Захаркин успешно руководил войсками в Тульской, Калужской и Ржевско-Вяземской наступательных операциях.
С июня 1943 года И. Г. Захаркин занимал пост заместителя командующего войсками Центрального фронта, а с октября того же года – Белорусского фронта. Он активно участвовал в Курской битве, а также в Черниговско-Припятской и Гомельско-Речицкой наступательных операциях, а также в освобождении Белоруссии.
С марта 1944 года И. Г. Захаркин был командующим войсками Одесского военного округа. Однако 15 октября 1944 года он погиб в автомобильной катастрофе. За свою службу И. Г. Захаркин был награжден 4 орденами Красного Знамени, орденами Суворова 2 степени и Красной Звезды, а также медалями.