We went on a Baltic cruise with MSC Rhapsody last summer and were told on several occasions by our cruise company that we didn't need a visa for St Petersburg. However when we boarded the ship we were told that if we didn't have a visa or go on an excursion arranged by MSC then we couldn't go ashore in Russia because of Russia's regulations. We had to purchase a shore excusion for a family of four so that we could actually visit Russia which was, for us, the highlight of the cruise. We would have liked to explore St Petersburg on our own. My advice would be to check with Russian consulate or similar in London on current travel regulations and also note that I have been told that it takes quite a while to get issued with visas. Christian,Oxfordshir.
If you go on the ships shore excursions or with a private tour company like Red October, Alla or DenRus then you do not need a visa. I am going with Alla this summer and have been most impressed by her speed of responce and the cost is fantastic compared to the cruise ship tours, and you get to see so much more.
No you don't - we had one but were in the minority. It was nice to do our own thing though. Anyone who goes on the ship's excursions or with a company such as those mentioned above will not need a visa.