В августе 1941 года Николаев был призван на службу в Красную Армию и направлен на учёбу в военную авиационную школу пилотов в Батайске. После её расформирования переведён в Кировабадскую военную авиационную школу Азербайджанской ССР, но в апреле 1942 года и она была расформирована. Николаев был направлен в артиллерию, был командиром орудийного расчёта 833-го артиллерийского полка.
С августа 1942 года — на фронтах Великой Отечественной войны. Принимал участие в боях на Сталинградском и Южном фронтах, участвовал в Сталинградской битве.
В апреле 1943 года Николаев добился своего возвращения в военно-воздушные силы. В августе 1943 года младший лейтенант Николаев вернулся на фронт. Участвовал в Донбасской и Мелитопольской операциях. Будучи старшим лётчиком 77-го гвардейского ночного бомбардировочного авиаполка 2-й гвардейской ночной бомбардировочной авиадивизии 8-й воздушной армии, совершил 182 боевых вылета. В январе-мае 1944 года по направлению командования Николаев переучивался на штурмовик «Ил-2», после чего вернулся на фронт.
Принимал участие в Крымской, Белорусской, Гумбиннен-Гольдапской, Восточно-Прусской операциях, во взятии Кёнигсберга, разгроме вражеской группировки на Земландском полуострове, блокаде с воздуха немецких войск на Куршской косе.
17 октября 1944 года получил тяжёлое ранение в голову во время поддержки с воздуха наземных войск в районе города Шталлупёнен (ныне — Нестеров Калининградской области), однако продолжал выполнять боевую задачу до полного израсходования боеприпасов. По возвращении на аэродром, Николаев был отправлен в госпиталь, но, не долечившись, вновь вернулся в свою часть. 5 февраля 1945 года в порту Нойкурен (ныне — посёлок Пионерское) Николаев повредил немецкий миноносец, обстреливавший наступавшие по побережью советские подразделения, вынудив его уйти на ремонт в Германию. 5 мая 1945 года он совершил свой последний боевой вылет в Восточной Пруссии.
К концу войны гвардии лейтенант Иван Николаев командовал звеном 74-го гвардейского штурмового авиаполка 1-й гвардейской штурмовой авиадивизии 1-й воздушной армии 3-го Белорусского фронта.
За годы войны Николаев совершил 284 боевых вылета, уничтожив 12 танков, 56 автомашин, 3 склада, 14 артиллерийских орудий, 10 орудий ПВО, 20 конных повозок, 18 домов, превращённых в укреплённые огневые точки, 1 дзот, более 300 вражеских солдат и офицеров, подавив огонь 3-х батарей зенитной артиллерии. Принял участие в 7 воздушных боях, в ходе которых сбил 1 вражеский самолёт лично и 2 – в группе.
Указом Президиума Верховного Совета СССР от 29 июня 1945 года за «мужество и героизм, проявленные на фронте борьбы с немецкими захватчиками» гвардии лейтенант Иван Николаев был удостоен высокого звания Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
Награждён тремя орденами Красного Знамени, орденами Отечественной войны 1-й и 2-й степеней, двумя орденами Красной Звезды, орденом «За службу Родине в Вооружённых Силах СССР» 3-й степени, двумя медалями «За боевые заслуги» и другими медалями.
После окончания войны Николаев проживал в Смоленске, продолжал службу в Советской Армии. В 1955 г. окончил Военно-воздушную академию, после чего служил на различных командных и штабных должностях в ВВС Северного флота и 50-й воздушной армии, дислоцировавшейся в Смоленске. В 1977 г. в звании полковника был уволен в запас.
Умер 12 июня 2006 г., похоронен на Братском кладбище в г. Смоленске.
На Родине помнят и чтут Николаева Ивана Александровича. В городе Чаплыгине возле Мемориала воинской славы установлен его барельеф, а в школе где он учился установлена мемориальная доска в честь подвигов героя.