Иван Егорович Шавров родился в семье крестьянина в деревне Шабуни Витебской губернии, ныне в составе Витебского района Витебской области Белоруссии. Из крестьян. Окончил среднюю школу.
В 1935 году был призван в Красную Армию. Окончил бронетанковое училище в 1938 году. Служил командиром взвода в механизированном полку. В условиях быстрого роста бронетанковых войск и нехватки командиров, всего через год был направлен на учёбу в Военную академию механизации и моторизации РККА, окончив её в 1941 году.
Практически всю Великую Отечественную войну Шавров прошел в составе в действующей армии. был старшим адъютантом (тогдашнее наименование должности начальника штаба) танкового батальона, заместителем начальника и начальником штаба танковой бригады на Брянском, Юго-Западном и Южном фронтах. Участвовал в битве за Москву и кровопролитных оборонительных боях лета-осени 1942 года на южном направлении. С конца 1942 года в должности начальника оперативного отдела штаба управления командующего бронетанковыми и механизированными войсками Донского фронта участвовал в Сталинградской битве. С февраля 1943 года - начальник оперативного отдела штаба формировавшейся 4-й танковой армии.
С июня 1943 года до конца войны - начальник штаба 19-го Краснознамённого Перекопского танкового корпуса. В составе корпуса воевал на Центральном, 4-м Украинском, 1-м Прибалтийском и 2-м Прибалтийском фронтах. Полковник (9.09.1943). Принимал участие в оборонительной операции на северном фасе Курской дуги в Курской битве. В ходе Мелитопольской операции 19-й танковый корпус был введён в прорыв южнее Мелитополя, стремительно вышел по тылам немецких войск к Перекопскому перешейку и ворвался в Крым, захватив плацдарм за Турецким валом. Будучи окруженным врагом, корпус четыре дня вёл бой в полном окружении, потеряв все танки. Но когда направленная на выручку танковая бригада не смогла соединиться с ним, танкисты в пешем строю нанесли удар с тыла и не только соединились с главными силами, но ещё и удержали полностью весь плацдарм, сыгравший огромную роль в освобождении Крыма. О значении этих боёв говорит тот факт, что в самый критический момент борьбы в окружении по радио в корпус был передан приказ Верховного Главнокомандующего И. В. Сталина о присвоении командиру корпуса звания Герой Советского Союза и о представлении к награждению орденами всего личного состава корпуса. Тогда же был награжден орденом и полковник Шавров.
В ноябре 1943 - январе 1944 в составе корпуса участвовал в боях по уничтожению Никопольского плацдарма врага. Затем корпус был опять переброшен в Крым и геройски действовал в Крымской операции. Будучи главной ударной силой 4-го Украинского фронта, танкисты корпуса в апреле 1944 года прорвали оборону врага на Турецком вале, вышли на оперативный простор и с ходу захватили города Джанкой и Симферополь, предрешив весь исход сражения за Крым. В этих боях Шавров вновь отличился, а когда при прорыве вражеской обороны был ранен командир корпуса, несколько дней руководил его действиями до прибытия генерала, назначенного исполнять обязанности комкора.
С июня 1944 года вместе с корпусом воевал на прибалтийском направлении, участвовал в Белорусской и Прибалтийской операциях, в блокаде Курляндской группировки врага.
После войны И. Е. Шавров окончил Военную академию Генерального штаба в 1948 году.Служил на ряде командных и штабных должностей, в 1953-1956 годах командовал корпусом. В 1957-1960 годах был заместителем Главнокомандующегоий Группой советских войск в Германии. С октября 1963 года - первый заместитель командующего войсками Прибалтийского военного округа. С мая 1967 года - командующий войсками Ленинградского военного округа. С февраля 1973 года - начальник Военной академии Генерального штаба. Воинское звание генерал армии присвоено указом Президиума Верховного Совета СССР от 3 ноября 1973 года. С августа 1978 года - в аппарате Главнокомандующего Объединёнными вооружёнными силами государств - участников Варшавского договора.
С 1986 года - в Группе генеральных инспекторов Министерства обороны СССР. С начала 1992 года - в отставке. Жил в Москве. Похоронен на Троекуровском кладбище Москвы.
Был депутатом Верховного Совета СССР 8-го созыва (1970-1974). В 1971-1976 годах - член ЦК КПСС.
Награды
Орден Ленина
Четыре ордена Красного Знамени
Орден Суворова 2-й степени
Два ордена Кутузова 2-й степени
Орден Отечественной войны 1-й степени
Два ордена Красной звезды
Орден «За службу Родине в Вооружённых Силах СССР» 3-й степени
Медали
Иностранные ордена и медали