Twenty-five years later, King Magnus Eriksson attacked and briefly took the fortress during his crusade in the region in 1348–1352.[9] It was largely ruined by the time the Novgorodians retook the fortress in 1351. The fortress was rebuilt in stone in 1352 by Archbishop Vasily Kalika of Novgorod (1330–1352), who, according to the Novgorod First Chronicle, was sent by the Novgorodians after several Russian and Lithuanian princes ignored the city's pleas to help them rebuild and defend the fort.[10][11] The remnants of the walls of 1352 were excavated in 1969 and can be seen just north of the Church of St. John in the center of the present fortress.

In 1702, during the Great Northern War, the fortress was taken by Russians under Peter the Great in an amphibious assault: 250 Swedish soldiers defended the fort for ten days before surrendering. Russian losses were 6,000 men against 110 Swedish losses. It was then given its current name, Shlisselburg, a corruption of Schlüsselburg. The name, meaning "Key-fortress" in German, refers to Peter's perception of the fortress as the "key to Ingria".

Out of original ten towers, the fortress retains only six (five Russian and one Swedish). The remains of a church inside the fortress were transformed into a memorial to the fortress's defenders. The fortress has been the site of an annual rock concert since 2003. There is also a museum of political prisoners of the Russian Empire and a small collection of World War II artillery.

On August 1, 1927, the uyezds were abolished.[13] Shlisselburg was made a town of okrug significance and belonged to Leningrad Okrug.{[14] On August 19, 1930, Leningradsky Prigorodny District, with the administrative center in Leningrad, was established.[14] On August 19, 1936, the district was abolished and Shlisselburg became the town of oblast significance.[14]

During World War II, the town (but not the fortress) was seized by German troops. German occupation lasted from September 8, 1941 to January 18, 1943. The recapture of Shlisselburg in January 1943 by the Red Armyreopened access to besieged Leningrad. In 1944, the town's name was changed to Petrokrepost (lit., Peter's fortress).[5] Shlisselburg regained its former name in 1992.[5]

In 2010, the administrative structure of Leningrad Oblast was harmonized with its municipal structure,[15] and Shlisselburg became a town of district significance, subordinated to Kirovsky District.

The A120 road, which encircles St. Petersburg, and the M18 Highway, which connects St. Petersburg and Murmansk, pass several kilometers south of the town.

The Neva and Lake Ladoga are navigable. In the beginning of the 19th century, a system of canals bypassing Lake Ladoga was built, which at the time was a part of Mariinsky Water System, connecting the Neva with the Volga River. In particular, the New Ladoga Canal connects the Volkhov and the Neva Rivers. It replaced the Old Ladoga Canal built by Peter the Great, which thus became disused and decayed. The canals collectively are known as the Ladoga Canal. The canals originate from the Neva in Shlisselburg.

The town does not retain many historical buildings, apart from a handful of 18th-century churches. Perhaps the most remarkable landmark is the Old Ladoga Canal, started at the behest of Peter the Great in 1719 and completed under the guidance of Fieldmarshal Munnich twelve years later. The canal stretches for 104 versts (111 km); its granite sluices date from 1836.