The average train between Moscow and Saint Petersburg takes 5h 22m and the fastest train takes 3h 47m. There is a train service every few hours from Moscow to Saint Petersburg. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Moscow and Saint Petersburg. The earliest departure is at 5:30 AM in the morning, and the last departure from Moscow is at 11:55 PM which arrives into Saint Petersburg at 7:55 AM. All services run direct with no transfers required, and take on average 5h 22m. The schedules shown below are for the next available departures.
Arrives next day
Arrives next day
Arrives next day
Want to know about travelling from Moscow to Saint Petersburg? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
Yes, there is a direct train departing from Moscow station and arriving at Saint Petersburg station. Services depart hourly, and operate 4 times a day. The journey takes approximately 5h 22m.
Moscow to Saint Petersburg train services, operated by Russian Railways (High Speed Trains), depart from Leningradsky Railway Terminal station.
Moscow to Saint Petersburg train services, operated by Russian Railways (High Speed Trains), arrive at Moskovsky Railway Terminal station.
The distance between Moscow and Saint Petersburg is 634.4 km. The road distance is 641 km.
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.