Иван Воробьёв родился 16 января 1908 года в деревне Матвеевка (ныне — Кимрский район Тверской области) в крестьянской семье. После окончания пяти классов школы работал сапожником в колхозе.
В 1930 году был призван на службу в Рабоче-крестьянскую Красную Армию. В 1932 году окончил авиационную школу лётчиков и лётнабов в Оренбурге, служил лётчиком-наблюдателем в Смоленской области.
Участвовал в боях на Халхин-Голе, совершил 16 боевых вылетов на бомбардировщике «СБ», был награждён орденом Красного Знамени. Принимал участие также в советско-финской войне. К началу Великой Отечественной войны был штурманом эскадрильи учебной части.
С ноября 1942 года — на фронтах Великой Отечественной войны. Воевал в составе 18-го гвардейского бомбардировочного авиаполка дальнего действия (к концу войны полк был в составе 2-й гвардейской бомбардировочной авиационной дивизии 2-го гвардейского бомбардировочного авиационного корпуса 18-й воздушной армии).
Большинство своих боевых вылетов совершал на ночные бомбардировки. Участвовал в бомбардировках Данцига, Тильзита, Инстербурга, Кёнигсберга, Галаца, Бреслау, Будапешта, Варшавы. Командованием неоднократно отмечалась высокая эффективность бомбардировок, производимых Воробьёвым.
Участвовал в воздушных боях на Курской дуге и прорыве блокады Ленинграда, освобождении Севастополя, боёв у озера Балатон в Венгрии.
Последние свои боевые вылеты Воробьёв совершил в апреле 1945 года, бомбя Берлин.
Всего за годы войны гвардии майор Иван Воробьёв совершил 213 боевых вылетов на бомбардировку военно-промышленных объектов в глубоком тылу противника на самолете ИЛ-4, из них 199 ночью.
Указом Президиума Верховного Совета СССР от 15 мая 1946 года за «образцовое выполнение боевых заданий командования по уничтожению живой силы и техники противника и проявленные при этом мужество и героизм» гвардии майор Иван Воробьёв был удостоен высокого звания Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» за номером 2869.
После окончания войны Воробьёв продолжил службу в Советской Армии. В 1956 году в звании подполковника был уволен в запас. Проживал в Смоленске, занимался партийной и общественной работой, умер 12 июня 1967 года, похоронен в Смоленске на кладбище «Клинок».
Был награждён тремя орденами Ленина, тремя орденами Красного Знамени, орденом Красной Звезды, а также рядом медалей.