В соответствии с официальной биографией, содержащейся в послужной карте командира Красной армии, Иван Кононов родился в 1906 году в «пролетарской» семье. Оказавшись в эмиграции, он объявил, что на самом деле родился в 1900 году в семье казачьего есаула, повешенного большевиками в 1918 году. Кроме того, от рук большевиков погибли три его брата — старший в годы гражданской войны, двое других — во время репрессий в 1934—1937 годах. По словам Кононова, он изменил дату рождения и другие биографические сведения с тем, чтобы скрыть своё происхождение при вступлении на службу в Красную армию в 1922 году. По его словам, в гражданской войне он не принимал участия по болезни. Среди историков, занимающихся вопросами «власовского» движения, нет единства в вопросе о том, доверять ли этим сведениям.
Окончил кавалерийское отделение Объединённой военной школы имени ВЦИК (1927), Военную академию имени М. В. Фрунзе (1938).
С 22 августа 1941 года находился в плену, существует несколько версий этого события. Сам Кононов в 1948 утверждал, что
По данным историка Александра Окорокова, Кононов не добровольно перешёл на сторону немцев, а попал в плен с группой из нескольких офицеров, причём его полк ещё некоторое время продолжал боевые действия. Историк Кирилл Александров считает наиболее вероятной следующую версию: «Вероятнее всего с Кононовым 22 августа 1941 г. на сторону немцев перешла большая группа бойцов и командиров, включая заместителя командира полка по политчасти батальонного комиссара Д.Панченко».
Сразу же после перехода на сторону немцев (или пленения) Кононов объявил о своём желании сформировать добровольческий казачий полк и принять с ним участие в боях. Повторил это же предложение на допросе в армейском отделе абвера 6 сентября 1941 года. Санкция немецкого командования была получена, и к 28 октября Кононов сформировал из военнопленных казачью добровольческую часть № 102 (2 кавалерийских эскадрона, 2 эскадрона самокатчиков, 1 артиллерийский взвод на конной тяге и 1 взвод противотанковых орудий), в 1942 году переформированную в 600-й отдельный казачий батальон (затем дивизион).
Воинская часть Кононова отличалась достаточно высокой боеспособностью. В начале 1942 года в составе 88-й пехотной дивизии вермахта она участвовала в боевых действиях против партизан и десантников окруженного корпуса генерал-майора П. А. Белова под Вязьмой, Полоцком, Великими Луками, в Смоленской области. Немцы сохранили Кононову присвоенное ему в РККА звание майора, а в 1942 году он был произведён в подполковники вермахта. С весны 1942 года во главе своих подчинённых участвовал в антипартизанских боевых действиях под Могилёвом. Командующий тыловыми войсками безопасности группы армий «Центр» генерал М. фон Шенкендорф в своём дневнике так характеризовал «кононовцев»: «Настроение казаков хорошее. Боеготовность отличная… Поведение казаков по отношению к местному населению беспощадное».
К февралю 1943 года дивизион включал в себя 6 кавалерийских эскадронов, 2 эскадрона самокатчиков, эскадрон мотоциклистов, артиллерийский дивизион. Однако в апреле 1943 часть военнослужащих из новых пополнений ушли к партизанам, хотя большинство подчинённых Кононова сохранили лояльность немецкому командованию. Летом 1943 года дивизион был преобразован в 5-й Донской казачий полк (в составе 2-й Кавказской бригады 1-й казачьей дивизии вермахта), а осенью того же года переведён в Югославию, где участвовал в боях против партизанских формирований Народно-освободительной армии Югославии. И в этой стране «кононовцы» продемонстрировали высокую боеспособность в сочетании с жестокостью в отношении партизан и мирного населения.
С конца 1944 года Кононов занимался формированием отдельной Пластунской бригады в составе 15-го казачьего кавалерийского корпуса войск СС (в который была преобразована 1-я казачья дивизия). К апрелю 1945 года планировалось развернуть бригаду в 3-й казачью дивизию. К этому времени Кононов стал сторонником подчинения казачьих частей командованию генерала Андрея Власова, чему противились руководители казаков из числа эмигрантов. Кроме того, выступал за сотрудничество с лидером сербских монархических формирований четников генералом Дражей Михайловичем.
1 апреля 1945 года Кононов был произведён в генерал-майоры «власовского» Комитета освобождения народов России. По некоторым данным, приказом Власова он был назначен походным атаманом всех казачьих войск и командиром 15-го корпуса, но в исполнение обязанностей вступить не успел.
В мае 1945 года встречался с Власовым, а затем уехал в американскую оккупационную зону. В это время его бригада, находившаяся в Австрии, была насильственно репатриирована британскими властями в советскую оккупационную зону. Кононов оказался единственным «власовским» генералом, избежавшим гибели в 1945—1947. Существуют разные трактовки его действий в конце войны. Согласно одним данным, он, после того, как расстался с Власовым, так и не смог найти своих подчинённых в хаосе отступления немецких войск, по другим — бросил их в трудное время.
Судя по официальному портрету (см. выше) немецкое командование неоднократно награждало Кононова знаками отличия для восточных народов; так, у него на орденской планке над левым нагрудным карманом имеются ленты двух таких знаков отличия второй степени в бронзе, одного такого же знака второй степени в серебре, двух таких же знаков второй степени в золоте (все вышеуказанные знаки - с мечами). Кроме того, в петлице его мундира имеются лента Железного креста второго класса и лента Восточной медали. На левом нагрудном кармане - знак отличия для восточных народов первой степени в серебре с мечами и Железный крест первого класса. На шее - хорватский орден Короны короля Звонимира первого класса.
В 1946—1948 Кононов проживал на нелегальном положении в Мюнхене. Пытался создать политическую организацию «Всеэмигрантское антикоммунистическое зарубежное объединение», но потерпел неудачу. Некоторое время входил в состав правой организации Союз Андреевского флага, объединявшей часть «власовцев» и эмигрантов первой волны, но вышел из неё. Не пользовался авторитетом среди большинства эмиграции — как казаков, так и «власовцев». В конце 1940-х годов переехал в Австралию, где жил в городе Аделаида, отойдя от политической деятельности. Находился в розыске органами КГБ как изменник Родины.
15 сентября 1967 погиб в автомобильной катастрофе. По мнению Кирилла Александрова, «возможно, что розыск достиг поставленной цели».