Иван Семёнович Ваганов родился в деревне Протопоповка Арзамасского района Нижегородской области в семье крестьянина. Русский. Член КПСС с 1917 года.
В 1906 окончил начальную школу.
В первую мировую войну был солдатом, а затем подпрапорщиком на турецком фронте. Участвовал в Февральской и Великой Октябрьской социалистической революциях. Командовал отрядом, позднее полком Красной гвардии. За подвиги в гражданской войне Ваганов был награжден орденом Красного Знамени.
В Советской Армии с 1918. Участник Гражданской войны. За подвиги в гражданской войне Ваганов был награжден орденом Красного Знамени. Окончил Военную академию имени М. В. Фрунзе в 1929, академические курсы усовершенствования офицерского состава (КУОС) при Военной академии бронетанковых и механизированных войск Красной Армии.
Участник Великой Отечественной войны с июня 1941 года. Его танковая, позднее механизированная бригада громила врага под Москвой, Воронежем, форсировала Днепр, Вислу, Одер.
22-24 апреля 1945 года 69-я механизированная бригада (9-й механизированныый корпус, 3-я гвардейская танковая армия, 1-й Украинский фронт) под командованием полковника Ваганова отличилась в боях на подступах к Берлину, нанеся противнику существенный урон в живой силе и технике, первой в армии ворвалась в город с юга, чем способствовала продвижению частей корпуса.
В мае 1945 года его бригада в составе армии отправилась на помощь восставшей Праге. Ваганов на своем танке первым вступил на северо-западную окраину столицы Чехословакии.
Звание Героя Советского Союза присвоено 31 мая 1945 года.
После войны продолжал службу в армии. Работал старшим преподавателем в Военной академии имени М. В. Фрунзе. Был Почетным гражданином г. Брандиса-на-Лабе. Его именем назван парк этого города.
С 1956 полковник Ваганов в отставке. Умер 16 декабря 1977 года.