Город расположен на левом берегу
реки Волхов, в месте впадения её в
Ладожское озеро, в 121 км от
Санкт-Петербурга. Центр города занимает треугольный остров, ограниченный с севера
«старым Петровским каналом», с юго-востока — рекой Волхов, с запада — рукавом того же Петровского канала, соединяющегося с рекой. До возникновения города на этом месте находился
Николо-Медведский монастырь (
иначе Николо-Медведовский, Никольско-Медведовский), возникший в XIV или XV веке. Рядом находится старинное село
Старая Ладога, бывшее в своё время городом и по легендам являвшейся первой столицей
Руси.