Иван Никонович Мошляк родился 15 октября 1907 года в селе Родино ныне Родинского района Алтайского края в крестьянской семье.
Закончив семь классов, Мошляк батрачил.В 1929 году был призван в ряды РККА. В 1930 году закончил полковую школу.
В 1932 году вступил в ВКП(б).
Иван Никонович Мошляк принимал участие в боях у озера Хасан
В ходе боя за высоту Заозёрная 8 августа 1938 года Мошляк, взяв знамя у раненого знаменосца, первым ворвался на сопку, где водрузил флаг. Раненный в голову Иван Мошляк не покинул поля боя, а с гибелью командира батальона принял командование и добился выполнения боевой задачи.
Указом Президиума Верховного Совета СССР от 25 октября 1938 года за героизм и мужество, проявленные в боях с японскими милитаристами, лейтенанту Ивану Никоновичу Мошляку присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» (№ 93).
В 1941 году Мошляк закончил Военную академию имени М. В. Фрунзе.С августа 1941 года принимал участие в боях на фронтах Великой Отечественной войны. Командовал стрелковым полком, 106-й стрелковой бригадой (6-я армия, Юго-Западный фронт), 62-й гвардейской стрелковой дивизией (4-я гвардейская армия, 3-й Украинский фронт).
Воинские части и соединения под командованием Мошляка участвовали в Воронежско-Ворошиловградской, Корсунь-Шевченковской, Будапештской и Венской операциях, а также в освобождении городов Старобельск, Изюм, Звенигородка, Боньхад, Секешфехервар и Дьёр.В 1952 году Мошляк закончил Военную академию Генерального штаба.
В 1967 году был назначен на должность заместителя начальника Военной академии тыла и транспорта.
В 1968 году генерал-майор Иван Никонович Мошляк вышел в отставку, после чего жил в Ленинграде, где и умер 22 апреля 1981 года. Похоронен на Серафимовском кладбище.