Petrozavodsk is connected to Moscow and St Petersburg by overnight train — the most comfortable option for most visitors. The journey from Moscow takes about 14 hours; from St Petersburg, around 5 hours. The railway station is a manageable walk from the centre.
The city has a small airport with limited domestic connections. Buses run from St Petersburg (about 6 hours) but the train is faster and more comfortable for that route.
From St Petersburg, a day trip to Petrozavodsk is theoretically possible but rushed; it is better treated as at least a two-night stop to allow a full day at Kizhi Island.