Игорь Мирнов начал свою профессиональную карьеру в 2002 году в составе московского «Динамо». В следующем году на драфте НХЛ он был выбран во 2 раунде под общим 67 номером клубом «Чикаго Блэкхоукс».
В сезоне 2004/05 Игорь стал чемпионом России, а спустя год вместе с командой стал обладателем Кубка европейских чемпионов. В сезоне 2006/07 Мирнов набрал рекордные для себя 45 (21+24) очков в 49 матчах. Тем не менее, в середине следующего сезона, являясь капитаном «Динамо», Игорь покинул клуб и перешёл в магнитогорский «Металлург», с которым дважды стал бронзовым призёром российских первенств, а также вновь стал обладателем Кубка европейских чемпионов.
Перед началом сезона 2008/09 Мирнов подписал двухлетний контракт с мытищинским «Атлантом». Тем не менее, в середине того сезона Игорь перешёл в состав ХК МВД. Однако, проведя за «милиционеров» лишь 10 игр, Мирнов был отзаявлен из состава балашихинского клуба и принял решение продолжить карьеру в новосибирской «Сибири», где вновь стал играть на привычно высоком уровне. После окончания сезона Игорь продлил свой контракт с «Сибирью» ещё на 2 года.
В составе новосибирского клуба в сезоне 2010/11 Мирнов провёл 57 матчей, в которых набрал 43 (16+27) очка, став лучшим бомбардиром команды. Тем не менее, 26 мая 2011 года было объявлено о том, что Игорь был выставлен клубом на трансфер из-за новых принципов комплектования хоккейной команды, после чего он принял решение заключить соглашение с уфимским «Салаватом Юлаевым».
В составе сборной России Игорь Мирнов призывался для участия в матчах Еврохоккейтура в сезонах 2005/06 и 2006/07, которые проходили в Праге и Стокгольме.