В конце XV века на берегу Наровы для защиты западных границ государства от войск Швеции и Левонии, по приказу царя Ивана III была построена крепость, которую назвали в его честь Ивангородом. Находилась она напротив крепости рыцарей Тевтонского ордена – Нарвы, стоявшей на другом берегу реки. Место для русской крепости выбрали удачно – с трех сторон ее защищала река, делавшая в этом месте крутой изгиб. Первая крепость была очень небольших размеров, что сказывалось на ее оборонительных способностях – она не могла вместить достаточное количество воинов, кроме того, между берегом реки и стенами оставалось достаточно обширное незащищенное пространство, что делало крепость более уязвимой. Таким образом, она не могла выдержать длительную осаду, что стало понятно уже спустя четыре года после ее постройки. В 1496 году шведы всего за семь часов захватили Ивангород, однако, услышав о приближении войск в подкрепление, покинули крепость.
После этого было решено расширить и укрепить оборонительное сооружение. С восточной стороны всего за три месяца была возведена гораздо большая по размерам крепость с башнями, полностью оборудованная для успешной обороны, получившая название Большой Боярший город. Однако пространство перед старой крепостью все еще оставалось незащищенным, и поэтому в 1507 году здесь были выстроены стены с башнями, и Ивангород стал крепостью внутри крепости.
В начале XVI века была возведена еще одна постройка к северу от Бояршего города, названная Передним городом. Несмотря на хорошую оборонительную способность, Иваногородская крепость дважды находилась в руках шведов – в 1581 году в течение 10 лет и в 1617-м – согласно Столбовскому миру была во владении Швеции почти столетие. Только в ходе Северной войны Иваногородская крепость была возвращена.
Во время Великой Отечественной войны крепости был нанесен значительный урон – вражеские войска перед отступлением взорвали башни, стены и внутренние постройки. В настоящее время проводятся реставрационные работы.