В период Гражданской войны Григорий Федорович Захаров, начиная с августа 1919 года, сражался на Восточном фронте, где занимал должность командира роты. В межвоенный период он продолжил свою военную карьеру, командуя батальоном и полком. Также он занимал должность начальника военно-хозяйственного снабжения дивизии и преподавал тактику в Военно-инженерной академии РККА.
С 1939 по 1941 год Захаров был начальником штаба Уральского военного округа. В начале Великой Отечественной войны он занял пост начальника штаба 22-й армии Западного фронта, участвуя в отражении атак противника под Витебском, Великими Луками и Невелем. С августа 1941 года он стал начальником штаба, а с октября того же года – командующим войсками Брянского фронта. Под его командованием войска фронта провели Орловско-Брянскую операцию, сорвав планы противника на глубокий охват Москвы с юга. С декабря Захаров занимал пост заместителя командующего войсками Западного фронта, принимая участие в контрнаступлении под Москвой.
С мая 1942 года он был начальником штаба Северо-Кавказского направления, затем Северо-Кавказского фронта. С августа того же года – начальником штаба Юго-Восточного (Сталинградского) фронта. В октябре 1942 года стал заместителем командующего войсками Сталинградского фронта, успешно руководя армиями левого крыла фронта в ходе контрнаступления под Сталинградом. Затем стал заместителем командующего войсками Южного фронта, а с февраля 1943 года – командующим 51-й армией, принимавшей участие в освобождении Ростова.
В июле 1943 года Захаров был назначен командующим 2-й гвардейской армией, которая выделялась при прорыве мощной обороны противника на реках Миус и Молочная, на Перекопе, а также при освобождении г. Севастополь. С июня 1944 года он командовал 2-м Белорусским фронтом, внесшим значительный вклад в освобождение Белоруссии. Войска фронта под его командованием провели Могилевскую операцию в июне 1944 года, форсируя реку Днепр и освободив г. Могилев. Затем фронт участвовал в Минской наступательной операции и Белостокской операции, освободив г. Белосток.
В период с августа по ноябрь 1944 года войска фронта продолжили наступление, освободив Западную Белоруссию, вышли к границам Польши и Восточной Пруссии, захватив Ружанский плацдарм на левом берегу реки Нарев, севернее Варшавы.
С ноября 1944 года Григорий Федорович Захаров командовал 4-й гвардейской армией, которая форсировала реку Дунай и принимала участие в окружении будапештской группировки противника. С апреля 1945 года он занимал пост заместителя командующего войсками 4-го Украинского фронта.
После войны Григорий Федорович Захаров руководил войсками Южно-Уральского и Восточно-Сибирского военных округов, был начальником Высших стрелково-тактических курсов усовершенствования комсостава пехоты «Выстрел» имени Б. М. Шапошникова, а с сентября 1954 года – начальником Главного управления боевой подготовки Сухопутных войск.
Награжден орденом Ленина, 4 орденами Красного Знамени, 2 орденами Суворова 1 ст., орденами Кутузова 1 ст., Суворова 2 ст., Богдана Хмельницкого 1 ст., медалями.
26 января 1957 года скончался Георгий Фёдорович Захаров, похоронили на Новодевичьем кладбище Москвы