Ивангород был основан как крепость в 1492 московским князем Иваном III Васильевичем и назван в его честь.
В немецких документах конца XV века был известен как «контр-Нарва».
Крепость Ивангород с мощными каменными стенами и десятью башнями — первое русское оборонительное сооружение с регулярным, прямоугольным планом (1492—1610). В XVI веке Ивангород неоднократно подвергался нападениям со стороны немцев, шведов и поляков. В 1581—1590 (после Ливонской войны) и в 1612—1704 (в результате шведской интервенции начала XVII века в России) находился под властью шведов. В 1704 занят русскими войсками в ходе Северной войны.
Ивангород располагается на самой границе с Эстонией и официально (на 2002 год) входит в погранзону. На практике это означает, что перед городом расположен КПП, на котором проверяют документы у всех прибывающих.
Правила (которые в наше нестабильное время имеют обыкновение меняться периодически как в сторону ужесточения, так и либерализации) предусматривают необходимость получения специального пропуска на въезд в Ивангород или наличия эстонской визы.
Основная достопримечательность города - крепость, которая и сейчас поражает своей монументальностью и мощью. Крепость расположена на крутых склонах Девичьей горы, месте труднодоступном и живописном. Гора с трех сторон омывается быстрой Нарвой, а с четвертой - окружена глубоким оврагом. Эта крепость достраивалась и расширялась с XV по XVII век и представляет собой сложный комплекс оборонительных сооружений.
В советское время Ивангород считался рабочим поселком и лишь в 1954 году он получил статус города районного подчинения.