Иван Ефимович Баранов родился 16 января 1922 года в семье крестьянина. Окончил Угловскую среднюю школу. Занимался в Боровичском аэроклубе. Работал на Угловском известковом комбинате нормировщиком.
В 1941 году призван в Красную Армию. Направлен в Энгельсскую военную авиационную школу пилотов. После её окончания в сентябре 1942 года — на фронте. Командир эскадрильи 807-го штурмового авиационного полка 206-й штурмовой авиационной дивизии 7-го штурмового авиационного корпуса 14-й воздушной армии 3-й Прибалтийский фронт.
К сентябрю 1944 года совершил 107 успешных боевых вылетов. В том числе: 19 марта 1944 года в районе города Николаева Баранов в паре с летчиком Ляховским производил разведку войск противника. На железнодорожной станции Трихаты уничтожил воинский эшелон с боеприпасами. 8 апреля И. Баранов дважды водил шесть ИЛ-2 на уничтожение танков, огневых точек и живой силы противника, содействуя прорыву укреплённой обороны немцев в районе Сивашских озёр. 22 апреля штурмовая группа Баранова атаковала и потопила морской караван из транспорта водоизмещением семь тысяч тонн, тральщика и двух катеров, который двигался в бухту Северная. Уже на следующий день летчик потопил баржу противника около мыса Херсонес. 6 мая И. Е. Баранов, который был ведущим шестёрки «ИЛ-2», произвёл удар по артиллерийским позициями и живой силе в районе Мекензиевых гор. За успешное проведение этой операции летчики эскадрильи и её командир получили благодарность от Маршала Советского Союза А. М. Василевского.
23 февраля 1945 года И. Е. Баранову было присвоено звание Герой Советского Союза. В представлении было написано:
И. Е. Баранов участвовал в Параде Победы 24 июня 1945 года.
После окончания войны продолжил службу в ВВС. В 1953 году окончил Высшие офицерские курсы. К 1963 году занимал должность заместителя командира части, летал на быстроходных истребителях. С 1972 года — в запасе. Проживал в городе Серпухов, где работал на заводе «Металлист».
Скончался Иван Ефимович Баранов 12 февраля 1994 года.