The distance between Moscow and St. Petersburg is 634 km (394 miles). Those cities are very well connected and offer different options to travel.
A brand new toll highway called M-11 (Neva) opened in 2019 makes traveling by car or bus from Moscow to St. Petersburg very comfortable. The driving distance will be 669 km and it may take around 6 hours with some short stops. The toll rate for a private car is between 1300 and 2000 rub (2022 actual data) and depends on a week day (from Monday to Thursday is cheaper) and also if you have a transponder.
It is not the most popular way to travel between Moscow and St. Petersburg but definitely the cheapest one. The tickets rate starts from 1200 rub per person and the whole trip takes around 9 – 11 hours.
“Sapsan” is a modern and comfortable high speed train that goes up to 250 km/h (155 mph). There are plenty of trains starting from Lenningradkiy Railway Station and arriving to Moskovskiy Railway Station in St. Petersburg. The journey will take from 3 hours 40 minutes to 4 hours with tickets around 3000 – 5000 rub.
Another nice option is to take a night train. Some passengers prefer a modern double decker train, while others go for romantic and classic trains like “Krasnaya Strela” (Red Arrow).
There are over 30 direct flights that operate between Moscow and St. Petersburg every day. You may choose one of 3 Moscow airports (SVO, VKO or DME), they all fly to LED (“Pulkovo”) airport in St. Petersburg. The flight time is around 1 hour and the tickets start from 1300 rub.
For all of our clients we recommend “Sapsan” train as a preferred option. Apart of being very comfortable fast and reasonably priced you may see Russian country side scenery.