Ситуацию спас базилевс Роман Лакапин, бывший некогда командующим военно-морскими силами Империи. Имея большой опыт ведения войны на море, он не испугался огромного вражеского флота и принял ряд мер для обеспечения защиты Константинополя. По приказу императора были учтены все более или менее пригодные для боевых действий суда в гавани столицы. В распоряжении Романа оказались «15 полуразрушенных хеландий, которые народ оставил [дома] из-за их ветхости» (19, 97). Императора это не смутило, он вызвал корабельных мастеров и отдал им соответствующие приказания: «Сейчас же отправляйтесь и немедленно оснастите те хеландии, что остались [дома]. Но разместите устройство для метания огня не только на носу, но также на корме и по обоим бортам» (19, 97). Численному превосходству противника император противопоставил преимущество ромеев в области военных технологий. Ставка была сделана на использование греческого огня: «Заслуживают похвалы многие приспособления древних и новых стратигов против вражеских кораблей и тех, кто на них сражается. Таков искусственный огонь, который с грохотом и дымом извергается из сифонов и сжигает корабли» (12, 303). На каждом судне предусматривался один сифон для метания огня, причем во избежание различных недоразумений он был хорошо защищен: «Следует непременно иметь сифон, обычно с надетым на него спереди медным приспособлением, через которое по врагам извергается специально изготовленный огонь. Поверх этого сифона сооружается маскировочный дощатый настил, и сам он окружается изгородью, за которой размещаются солдаты, обученные стрелять по врагам, подступившим спереди, или метать огонь по всему вражескому кораблю – везде, где они сочтут нужным применить это оружие» (12, 294). Своим решением поставить на корабли три дополнительных сифона, Роман увеличил боевую мощь имперских судов в три раза. Император шел на осознанный риск, но другого выхода у него не было. Был ещё один способ поражения вражеских кораблей греческим огнем: «Следует применять и другой метод метания огня – ручным способом, с использованием малых сифонов, применяемых стратиотами из-за железных щитов. Эти сифоны, именуемые ручными, изобретены совсем недавно нашим императорским величеством. Они мечут искусственный огонь в лицо врагам» (12, 303). Экипажи огненосных дромонов укомплектовали опытнейшими моряками и солдатами, начальником флота был назначен патрикий Феофан.
11 июня русские ладьи подошли к входу в пролив Босфор и заняли позиции около Фароса. Продолжатель Феофана поясняет, что «Фаросом называется сооружение, на котором горит огонь, указующий путь идущим в ночи» (39, 262). Речь идет о маяке. В дальнейшем византийский историк уточнит, что битва произошла «на Иероне, получившем такое название из-за святилища, сооруженного аргонавтами во время похода» (39, 262). Погода благоприятствовала ромеям, ветер стих, что позволяло беспрепятственно метать греческий огонь с высоких палуб дромонов. Нападение византийцев было внезапным, русских застали врасплох. Но как только Игорь увидел, что вражеский флот невелик и состоит из негодных кораблей, то преисполнился самоуверенности и приказал своим людям не убивать ромеев, а брать живыми. Русские ладьи выстроились в боевой порядок и приготовились к битве. Патрикий Феофан на флагмане возглавил атаку огненосных дромонов, его корабль вырвался далеко вперед, первым протаранил вражеские ладьи и оказался в глубине русского флота. Ладьи со всех сторон напали на неприятельского флагмана, но атака обернулась для русских катастрофой. Ромеи направили сифоны на вражеские суда и подожгли несколько ладей: «Было страшное зрелище, ибо, боясь огня, проклятые произвольно кидались вглубь моря, предпочитая утопиться в воде, чем быть сожженными огнем» (128, 89). Ратников и дружинников охватила паника, они стали поспешно отгребать от вражеского корабля. В это время подошли остальные дромоны ромеев и ударили по центру неприятельских позиций. Надежды императора Романа на богатый военный опыт византийских командиров, моряков и простых солдат, полностью оправдались. Ромеи действовали выше всяких похвал, воюя не числом, а умением. От самоуверенности Игоря не осталось и следа, князь приказал выходить из битвы и отступать на мелководье, где тяжелые дромоны не могли настигнуть легкие русские суда. Но было уже поздно, начался разгром русского флота. Воеводы и дружинники впервые столкнулись с греческим огнём, они просто не знали, что делать. Поэтому потери среди русского воинства были очень велики: «Одни, отягощённые кольчугами и шлемами, сразу пошли на дно морское, и их более не видели, а другие, поплыв даже, в огне продолжали гореть; никто не спасся в тот день, если не сумел бежать к берегу» (19, 97). Похожая информация присутствует в «Житие Василия Нового»: «одни сгорали, другие бросились по собственному изволению в морскую пучину, иные, будучи схвачены, стали рабами» (19, 89). Пленных было захвачено очень много, отчим епископа Лиутпранда наблюдал за их казнью в Константинополе. Несмотря на жестокое поражение, Игорь увел уцелевшие корабли вдоль берега на восток, в провинцию Вифиния: «отгнани быша к реце Риве. И тоу в тихости им ставше» (129, 457). Здесь первое время русские вели себя тихо, но впоследствии оправились от разгрома и в течение трех месяцев опустошали провинции Империи. Впоследствии Игорь потерпел от ромеев поражение на суше, затем был вторично разбит патрикием Феофаном на море и по свидетельству Льва Диакона «к Киммерийскому Боспору прибыл едва лишь с десятком лодок, сам став вестником своей беды» (7, 57). Поход закончился катастрофой.