There are 7 ways to get from Moscow to Saint Petersburg by train, bus, car, plane, subway, or rideshare
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Leningradsky Railway Terminal to Moskovsky Railway Terminaltrain 754А / ...
3h 47m₽1,600–20,000Bus
cheapest- Take the bus from Severnye Vorota Bus Terminal to Saint Petersburg Bus Terminalbus
10h₽1,400–2,900Drive 703.9 km
- Drive from Moscow to Saint Petersburgcar 703.9 km
7h 16m₽4,771–6,891Fly from Moscow Vnukovo, line 2 subway
- Fly from Moscow Vnukovo (VKO) to Pulkovo Airport (LED)plane VKO - LED
- Take the subway from Moskovskaya to Nevsky Prospektsubway
4h 6m₽4,765–28,480Rideshare
- Take the rideshare from Moscow to Saint Petersburg707.3 km
11h 27m₽1,455Fly from Domodedovo International Airport, line 2 subway
- Fly from Domodedovo International Airport (DME) to Pulkovo Airport (LED)plane DME - LED
- Take the subway from Moskovskaya to Nevsky Prospektsubway
4h 30m₽5,050–29,830Fly from Sheremetyevo International Airport
- Fly from Sheremetyevo International Airport (SVO) to Pulkovo Airport (LED)plane SVO - LED
7h 32m₽5,515–30,660
Moscow to Saint Petersburg by train
Comparing Your Travel Options
The cheapest way to get from Moscow to Saint Petersburg is to rideshare which costs RUB 1455 and takes 11h 27m.
The fastest way to get from Moscow to Saint Petersburg is to train which takes 3h 47m and costs RUB 1600 - RUB 20000.
Yes, there is a direct bus departing from Severnye Vorota Bus Terminal and arriving at Saint Petersburg Bus Terminal. Services depart three times a day, and operate every day. The journey takes approximately 10h.
Yes, there is a direct train departing from Leningradsky Railway Terminal and arriving at Moskovsky Railway Terminal. Services depart hourly, and operate every day. The journey takes approximately 3h 47m.
The distance between Moscow and Saint Petersburg is 641 km. The road distance is 703.9 km.
The best way to get from Moscow to Saint Petersburg without a car is to train which takes 3h 47m and costs RUB 1600 - RUB 20000.
The train from Leningradsky Railway Terminal to Moskovsky Railway Terminal takes 3h 47m including transfers and departs hourly.
Moscow to Saint Petersburg bus services, operated by Avtovokzaly.ru, depart from Severnye Vorota Bus Terminal station.
Moscow to Saint Petersburg train services, operated by Russian Railways (High Speed Trains), depart from Leningradsky Railway Terminal station.
The best way to get from Moscow to Saint Petersburg is to train which takes 3h 47m and costs RUB 1600 - RUB 20000. Alternatively, you can bus, which costs RUB 1400 - RUB 2900 and takes 10h, you could also fly, which costs RUB 5500 - RUB 31000 and takes 7h 32m.
What companies run services between Moscow, Russia and Saint Petersburg, Russia?
Russian Railways (High Speed Trains) operates a train from Leningradsky Railway Terminal to Moskovsky Railway Terminal hourly, and the journey takes 3h 47m. Four other operators also service this route. Alternatively, Avtovokzaly.ru operates a bus from Severnye Vorota Bus Terminal to Saint Petersburg Bus Terminal twice daily. Tickets cost ₽2,000–2,900 and the journey takes 10h. Ecolines RU also services this route once daily.
- Website
- aeroflot.ru
Flights from Moscow Vnukovo to Pulkovo Airport
- Ave. Duration
- 1h 31m
- When
- Every day
- Estimated price
- ₽4,500–28,000
- Website
- s7.ru
Flights from Domodedovo International Airport to Pulkovo Airport
- Ave. Duration
- 1h 39m
- When
- Every day
- Estimated price
- ₽4,600–29,000
- Website
- belavia.by
Flights from Sheremetyevo International Airport to Pulkovo Airport via Minsk
- Ave. Duration
- 6h 23m
- When
- Every day
- Estimated price
- ₽6,500–35,000
- Website
- severstal-avia.ru
Flights from Domodedovo International Airport to Pulkovo Airport via Cherepovets
- Ave. Duration
- 3h 10m
- When
- Monday to Thursday
- Estimated price
- ₽5,000–30,000
Flights from Sheremetyevo International Airport to Pulkovo Airport via Cherepovets
- Ave. Duration
- 8h 7m
- When
- Sunday and Friday
- Estimated price
- ₽5,000–30,000
- Website
- rusline.aero
Flights from Moscow Vnukovo to Pulkovo Airport
- Ave. Duration
- 1h 40m
- When
- Saturday
- Estimated price
- ₽4,500–28,000
Flights from Moscow Vnukovo to Pulkovo Airport via Tambov
- Ave. Duration
- 3h 35m
- When
- Monday and Friday
- Estimated price
- ₽7,000–36,000
- Website
- alrosa.aero
Flights from Moscow Vnukovo to Pulkovo Airport
- Ave. Duration
- 1h 40m
- When
- Saturday
- Estimated price
- ₽4,500–28,000
- Phone
- 8 (800) 775-00-00
- Website
- Russian Railways
Train from Leningradsky Railway Terminal to Moskovsky Railway Terminal
- Ave. Duration
- 3h 47m
- Frequency
- Hourly
- Website
- Russian Railways
- Phone
- 8 (800) 775-00-00
- Website
- Russian Railways
Train from Leningradsky Railway Terminal to Moskovsky Railway Terminal
- Ave. Duration
- 8h 56m
- Frequency
- 4 times a day
- Estimated price
- ₽1,900–4,300
- Website
- Russian Railways
- 1nd Class (SW)
- ₽10,000–14,000
- 3rd Class (Platzcart)
- ₽1,900–2,600
- 2nd Class (Kupé)
- ₽3,100–4,300
- Phone
- 8 (800) 775-00-00
- Website
- Russian Railways
Train from Leningradsky Railway Terminal to Moskovsky Railway Terminal
- Ave. Duration
- 5h 20m
- Frequency
- Once daily
- Estimated price
- ₽1,700–3,200
- Website
- Russian Railways
- Lastochka Train
- ₽1,700–2,400
- Commuter Electric Train
- ₽2,200–3,200
- Phone
- 8 800 775 54 53
- Website
- Grand Express Train
Train from Leningradsky Railway Terminal to Moskovsky Railway Terminal
- Ave. Duration
- 9h
- Frequency
- Once daily
- Estimated price
- ₽5,000–20,000
- Website
- Grand Express Train
- Kupé
- ₽5,000–9,000
- SW
- ₽10,000–20,000
- Luxe
- ₽60,000
- Phone
- 8 800 775 54 53
- Website
- Grand Service Express
Train from Leningradsky Railway Terminal to Moskovsky Railway Terminal
- Ave. Duration
- 9h 53m
- Frequency
- 3 times a week
- Estimated price
- ₽1,600–2,200
- Website
- Grand Service Express
- Schedules at
- Grand Service Express
- 3rd Class (Platzcart)
- ₽1,600–1,700
- 2nd Class (Kupé)
- ₽1,800–2,200
- Phone
- 8-800-350-11-55
- [email protected]
- Website
- Saint Petersburg Metro
Subway from Moskovskaya to Nevsky Prospekt
- Ave. Duration
- 15 min
- Frequency
- Every 5 minutes
- Estimated price
- ₽65–90
- Website
- Saint Petersburg Metro
- Schedules at
- Saint Petersburg Metro Map
- Podorozhnik Сard
- ₽65
- Token / Bank Card Contactless
- ₽90
Subway from Moskovskaya to Nevsky Prospekt
- Ave. Duration
- 15 min
- Frequency
- Every 5 minutes
- Estimated price
- ₽65–90
- Website
- Saint Petersburg Metro
- Schedules at
- Saint Petersburg Metro Map
- Podorozhnik Сard
- ₽65
- Token / Bank Card Contactless
- ₽90
- Phone
- 8-800-775-45-73
- Website
- avtovokzaly.ru
Bus from Severnye Vorota Bus Terminal to Saint Petersburg Bus Terminal
- Ave. Duration
- 10h
- Frequency
- Twice daily
- Estimated price
- ₽2,000–2,900
- Schedules at
- avtovokzaly.ru
- Phone
- +7 812 386 79 79
- [email protected]
- Website
- ecolines.ru
Bus from Severnye Vorota Bus Terminal to Saint Petersburg Bus Terminal
- Ave. Duration
- 9h 35m
- Frequency
- Once daily
- Estimated price
- ₽1,400–2,100
- Schedules at
- ecolines.ru
- Book at
- ecolines.ru
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar
Rideshare from Moscow to Saint Petersburg
- Ave. Duration
- 11h 27m
- Frequency
- 5 times a day
- Estimated price
- ₽1,455
- Schedules at
- BlaBlaCar
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including What documents do I need to cross Niagara Falls?, Is ride-sharing platform BlaBlaCar right for you?, and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.
Booking & Getting There
Moscow to Saint Petersburg bus services, operated by Avtovokzaly.ru, arrive at Saint Petersburg Bus Terminal station.
Moscow to Saint Petersburg train services, operated by Russian Railways (High Speed Trains), arrive at Moskovsky Railway Terminal station.
Yes, the driving distance between Moscow to Saint Petersburg is 704 km. It takes approximately 7h 16m to drive from Moscow to Saint Petersburg.
Check out Blablacar's carpooling service for rideshare options between Moscow and Saint Petersburg. A great option if you don't have a driver's licence or want to avoid public transport.





















