Родился 7 августа 1950 г. в г. Богородицке Тульской области в многодетной семье.
В 1972 г. окончил механико-математический факультет Московского государственного университета им. М. В. Ломоносова.
Кандидат физико-математических наук, в 1982 г. защитил диссертацию на тему "Смешанная задача для гиперболического уравнения второго порядка в областях с нерегулярной границей".
Доктор педагогических наук. В 1999 г. в МГУ защитил диссертацию на тему "Научно-методические основы взаимодействия школьного и вузовского математического образования в России".
Профессор кафедры математического анализа Московского государственного университета им. М. В. Ломоносова (2002).
После окончания МГУ работал преподавателем специализированной физико-математической школы-интерната при университете.
В 1972-1991 гг. - член КПСС.
С 1974 г. был преподавателем МГУ, старшим инженером лаборатории, ассистентом, старшим преподавателем, доцентом кафедры механико-математического факультета университета. Занимал должность заместителя секретаря комитета комсомола, был секретарем парткома механико-математического факультета МГУ.
В 1986-1988 гг. - председатель объединенного профсоюзного комитета вуза.
С 1987 г. по н. в. - заведующий кабинетом методики преподавания элементарной математики при кафедре математического анализа механико-математического факультета МГУ им. М. В. Ломоносова.
В 1988-1991 гг. - председатель парткома Московского государственного университета.
С июля 1990 г. был членом ЦК КПСС, членом секретариата ЦК КПСС, председателем комиссии ЦК КПСС по вопросам молодежной политики. В июле 1991 г. был избран секретарем ЦК КПСС. Занимал должность до роспуска компартии в ноябре 1991 г.
В 1991-1996 гг. - доцент механико-математического факультета МГУ.
В 1993 г. принимал участие в создании Коммунистической партии РФ (КПРФ). Партия была образована на съезде, прошедшем 13-14 февраля 1993 г. Иван Мельников вошел в состав центрального исполнительного комитета КПРФ (с 1995 г. - центральный комитет, ЦК), который возглавил Геннадий Зюганов.
В 1995-1997 гг. - член президиума и секретарь ЦК КПРФ, председатель комиссии по международным связям.
В 1995-1999 гг. - депутат Государственной думы РФ II созыва. Был избран 17 декабря 1995 г. в составе списка КПРФ, выдвинутого по федеральному избирательному округу. В Думе вошел во фракцию коммунистов, возглавлял парламентский комитет по образованию и науке.
В 1997-1999 гг. - председатель комиссии по науке и технологиям Парламентской ассамблеи Совета Европы (ПАСЕ).
В 1997-2004 гг. - заместитель председателя ЦК КПРФ Геннадия Зюганова.
В 1999-2002 гг. - член коллегии Министерства образования РФ.
В 1999-2003 гг. был депутатом Государственной думы РФ III созыва. Избран в Госдуму 19 декабря 1999 г. по федеральному списку КПРФ (был выдвинут под 12-м номером общефедеральной части списка). Возглавлял думский комитет по образованию и науке в 2000-2002 гг.
Руководил предвыборным штабом КПРФ накануне думских выборов 2003 г.
В 2003-2004 гг. - депутат Государственной думы РФ IV созыва. Был избран 7 декабря 2003 г. по списку КПРФ (шел на выборы под седьмым номером списка кандидатов). Был выдвинут партией на пост председателя нижней палаты парламента, на выборах спикера 29 декабря 2003 г. занял третье место с результатом 69 голосов (после Бориса Грызлова от "Единой России", 352 голосов, и Сергея Бабурина от "Родины", 79). Был членом думского комитета по образованию и науке.
С 2004 г. - первый заместитель председателя ЦК КПРФ (переизбирался в 2013, 2017, 2021 гг.). Член президиума ЦК КПРФ.
В 2005 г. возглавлял список коммунистов на выборах в Московскую городскую думу (МГД), однако после выборов отказался от мандата депутата МГД.
В 2007-2011 гг. был депутатом Государственной думы РФ V созыва от КПРФ. На выборах 2 декабря 2007 г. возглавлял московскую региональную группу №80. 24 декабря того же года был избран заместителем председателя Госдумы Бориса Грызлова.
4 декабря 2011 г. вновь был избран депутатом Государственной думы РФ. Баллотировался в Госдуму VI созыва от КПРФ в составе общефедеральной части списка партии (под шестым номером). 21 декабря 2011 г. принял участие в выборах спикера палаты, по итогам голосования занял второе место (208 голосов) после Сергея Нарышкина от "Единой России" (238). С 21 декабря 2011 г. занимал пост первого заместителя председателя Госдумы. Был членом комитета по образованию. Заместитель руководителя делегации Госдумы РФ в ПАСЕ.
8 сентября 2013 г. участвовал в выборах мэра Москвы (выдвинут КПРФ). На выборах набрал 10,69% голосов избирателей и занял третье место (мэром столицы был избран действующий глава города Сергей Собянин, 51,37%).
18 сентября 2016 г. Иван Мельников был избран в Государственную думу РФ VII созыва от КПРФ (баллотировался под пятым номером общефедеральной части партийного списка). 5 октября 2016 г. занял пост первого заместителя председателя Госдумы VII созыва Вячеслава Володина. Как первый вице-спикер Иван Мельников представлял Госдуму в Совете Федерации, отвечал за сотрудничество палаты с организациями в области прав человека, координировал деятельность комитетов по образованию и науке, по энергетике, по делам национальностей. Курировал сотрудничество с парламентскими организациями Союза Белоруссии и России, ПАСЕ, СНГ, ОДКБ и др., отношения с Китаем, Северной Кореей, Кубой, Вьетнамом, Индией. Заместитель руководителя делегации Госдумы РФ в ПАСЕ.
С 22 августа 2019 г. - председатель Общества российско-китайской дружбы.
С 2021 г. - депутат Государственной думы РФ VIII созыва. Избран 19 сентября 2021 г. от партии КПРФ по федеральному округу. Был выдвинут под шестым номером общефедеральной части списка, но после исключения из нее Павла Грудинина фактически баллотировался под пятым номером общефедеральной части списка кандидатов.
12 октября 2021 г. избран первым заместителем председателя Госдумы РФ VIII созыва Вячеслава Володина. На посту первого вице-спикера курирует комитеты по науке и высшему образованию, по охране здоровья, по культуре. Отвечает за организацию сотрудничества Госдумы с Парламентским собранием Союза России и Белоруссии, координацию вопросов деятельности Госдумы по разработке модельного законодательства, связи Госдумы с Межпарламентской ассамблеей СНГ, с Латиноамериканским и Центральноамериканским парламентами.
Заместитель председателя Парламентского собрания Союзного государства России и Белоруссии.
Награжден орденом "Знак Почета", а также орденом Почета (Белоруссия, 2016).
Имеет Почетную грамоту правительства РФ (2016).
Отмечен знаком "Отличник народного образования". Заслуженный работник Высшей школы Российской Федерации.
Автор ряда учебников по математике для педагогов и учащихся старших классов.
Увлекается шахматами. Занимается развитием спортивного клуба КПРФ, в 2003 г. основал мини-футбольный клуб партии.