There are many ways to travel from Moscow to St. Petersburg. You can go by car (slow, uncomfortable, …), by plane (expensive but fast) or by train. I’d recommend this last option because you save time (departs at 23:55 and arrives at 7am), it’s cheap (you save the price of the hotel for that night) and you feel like if you were in the movie “Doctor Zhivago”.
Amongst all, the best is the Red Arrow that started its first regular service in 1921 and even has its own theme song that plays as it departs from Leningradsky Station (Komsomolskaya Metro Station, the most beautiful in Moscow). You won’t see any tourists (just locals), you’ll get a great night’s sleep (trust me…)… and its exciting! I went with my wife. At the beginning she wasn’t very convinced, but in the end she finally loved it!
These are some of the highest ranked books in Amazon about Moscow, one of the best places in the world:
Click on the images to enlarge