Родился 6 (19) февраля 1914 года в селе Новгородка (ныне — посёлок в Кировоградской области Украины). После окончания семи классов школы работал плановиком на заводе горного оборудования «Коммунист» в Кривом Роге. В 1933 году окончил первый курс Киевского института народного хозяйства. Также в 1936 году окончил аэроклуб в Кривом Роге.
В августе 1936 года был призван на службу в Рабоче-крестьянском Красном Флоте. В 1939 году окончил Военно-морское авиационное училище имени И. В. Сталина в Ейске. После его окончания в ноябре 1939 года был оставлен в этом же училище инструктором. В ноябре 1940 года переведён инструктором-лётчиком в 1-ю запасную авиационную эскадрилью ВВС Балтийского флота (вскоре была развёрнута в 1-й запасной авиационный полк ВВС, который с началом войны был переведён в тыл в Саранск). В 1941 году вступил в ВКП(б).
С ноября 1941 года младший лейтенант И. С. Кравцов в действующей армии: в должности пилота 1-й эскадрильи 5-го ИАП ВВС КБФ (18 января 1942 года преобразован в 3-й Гвардейский ИАП КБФ), летал на ЛаГГ-3 и "Харрикейне". В мае 1943 года назначен командиром звена. С 17 июня 1943 года по 14 января 1944 года учился на Курсах усовершенствования начальствующего состава (КУНС) ВМФ. После возвращения в полк был назначен командиром звена 2-й эскадрильи, летал на Ла-5.
К 10 июня 1944 года командир звена 3-го Гвардейского истребительного авиационного полка (1-я Гвардейская истребительная авиационная дивизия, ВВС Краснознамённого Балтийского флота) Гвардии старший лейтенант И. С. Кравцов совершил 315 боевых вылетов, в 61 воздушном бою сбил лично 13 и в составе пары 4 самолёта противника (в наградном листе говорится о 15 личных и 4 групповых победах). Указом Президиума Верховного Совета СССР от 22 июля 1944 года удостоен звания Героя Советского Союза с вручением ордена Ленина и медали "Золотая Звезда" (№ 4018). 30 июня 1944 года присвоено воинское звание "Гвардии капитан".
К июлю 1944 года командир звена 3-го гвардейского истребительного авиаполка 1-й гвардейской истребительной авиационной дивизии ВВС Балтийского флота гвардии старший лейтенант Иван Кравцов совершил 315 боевых вылетов, в том числе: 117 на сопровождение штурмовиков и истребителей, 131 на отражение налётов авиации противника, 56 на прикрытие наземных войск, 8 на разведку кораблей и военно-морских баз противника, 3 на блокировку вражеских аэродромов. Провёл 61 воздушный бой, сбив 13 вражеских самолётов лично и ещё 4 в составе пары.
Указом Президиума Верховного Совета СССР от 22 июля 1944 года за «образцовое выполнение боевых заданий командования на фронте борьбы с немецкими захватчиками и проявленные при этом отвагу и геройство» гвардии старшему лейтенанту Ивану Савельевичу Кравцову присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» за номером 4018.
Отважно сражался и после присвоения звания Героя. В ноябре 1944 года гвардии капитан И. С. Кравцов назначен командиром 1-й эскадрильи своего полка. В завершающий год войны участвовал в Ленинградско-Новгородской, Выборгско-Петрозаводской, Прибалтийской и Восточно-Прусской наступательных операциях. Прикрывая своих недавних противников финнов при отражении немецкого десанта на остров Большой Тютерс в Финском заливе, он сбил 15 сентября 1944 года немецкий ФВ-190, а в воздушном бою 27 ноября 1944 года в районе мыса Церель на острове Сааремаа Кравцов вновь сбил 2 немецких самолёта за один бой. Последнюю победу одержал над Лиепаей 5 марта 1945 года, выполняя задачи по блокированию Курляндской группировки противника.
После окончания войны продолжал служить в морской авиации. С сентября 1950 года Гвардии майор И. С. Кравцов - в запасе. Жил и работал в Ленинграде (ныне Санкт-Петербург). В 1965 году переехал в город Геленджик (Краснодарский край). Умер 29 января 2005 года, похоронен на Новом кладбище.
Награждён орденами: Ленина (22.07.1944), Красного Знамени (21.10.1942, 12.06.1944, 18.07.1944, 04.04.1945), Нахимова 1-й степени (15.05.1946), Отечественной войны 1-й степени (10.11.1945, 11.03.1985); медалями, в том числе "За боевые заслуги" (30.04.1947).