Petrozavodsk ligger i ved den vestre bredden av innsjøen Onega, ca. 300 km nordøst for St. Petersburg og 700 km nordvest for Moskva. Byen strekker seg 10 km langs bredden, og ca. 2 km inn i landet. Det er to flyplasser i Petrozavodsk, havna håndterer gods- og passasjertrafikk og jernbanen til Murmansk går igjennom byen. Fra havna går det båt til øya Kizji, som er på UNESCOs liste over verdensarvsteder.