Красуйся, град Петров,
И стой неколебимо, как Россия!
Александр Сергеевич Пушкин
Первым мостом в городе был наплавной деревянный мост, соединявший крепость на Заячьем острове со строениями на Городовом (ныне Петроградском) острове. Мост носил наименование Петровского с момента постройки, а с 1887 года стал называться Иоанновским. Впервые он обозначен на плане Петербурга 1705 года. По мнению историков эти пролёты были сооружены для оборонительных целей: по приближении противника мост можно было сжечь.
В 1706 году наплавной мост был заменён подъёмным мостом на сваях, он находился выше по течению Кронверкского пролива. Несмотря на перестройку, два разводных пролёта сохранились, между ними было построено промежуточное крепостное укрепление. Одновременно с этим земляные бастионы Петропавловской крепости из земляных начали перестраивать в каменные.
В 1738 году, когда необходимость в дополнительных укреплениях окончательно отпала, мост был перестроен. К тому моменту уже был построен Иоанновский равелин, строились Иоанновские ворота (закончены в 1740), и мост был ориентирован в эти ворота. У обоих берегов были сооружены каменные дамбы, которые заканчивались арками. Посередине речного русла была расположена деревянная часть моста. Она была свайной конструкции с разводным пролётом.
С течением времени сквозные арки были заложены камнем. Устанавливались новые перила и фонари, но подновления моста проводились без конструктивных изменений до середины XX века. В 1951 году была проведена реконструкция с заменой несущих балок на металлические, при этом настил оставлен деревянным. После этого на мосту были установлены новые металлические фонари и ограда, выполненные в стиле начала XIX века.
Современный Иоанновский мост является пешеходным и до сих пор опирается на каменные устои старого моста.
На свае рядом с мостом 7 мая 2003 года была установлена фигурка зайца высотой около 60 сантиметров. Неофициально её называют «Зайчик, спасшийся от наводнения»