The average train between Saint Petersburg and Moscow takes 5h 24m and the fastest train takes 3h 50m. There is a train service every few hours from Saint Petersburg to Moscow. 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 Saint Petersburg and Moscow. The earliest departure is at 1:40 AM at night, and the last departure from Saint Petersburg is at 11:55 PM which arrives into Moscow at 7:55 AM. All services run direct with no transfers required, and take on average 5h 24m. The schedules shown below are for the next available departures.
Arrives next day
Arrives next day
Want to know about travelling from Saint Petersburg to Moscow? 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 Saint Petersburg station and arriving at Moscow station. Services depart hourly, and operate 5 times a day. The journey takes approximately 5h 24m.
Saint Petersburg to Moscow train services, operated by Russian Railways (High Speed Trains), depart from Moskovsky Railway Terminal station.
Saint Petersburg to Moscow train services, operated by Russian Railways (High Speed Trains), arrive at Leningradsky Railway Terminal station.
The distance between Saint Petersburg and Moscow is 634.4 km. The road distance is 641 km.
Russian Railways (High Speed Trains) operates a train from Moskovsky Railway Terminal to Leningradsky Railway Terminal hourly, and the journey takes 3h 52m. Four other operators also service this route.