I really don't recommend trip suggested by @Geeo. Cabin really exists, but they are not designed for tourism - much more for expeditors and workers on ship. And you have nothing to do on ship right until the end of your trip.
Other thing is that you have to firstly go to the Baltiysk on bus or train, and even if you come to Ust`-Luga(small town near the borders, with ~2500 citizens there), you somehow must come to the Saint-Petersburg, and this is not as easy as you can think - by local trains or by bus, either way will be with changes, and even with knowledge of Russian this will be a hard and extreme trip with chances to get into the troubles.
As for other companies @Geeo mentioned, they have quite unstable schedule because of small tourist interest for this direction. So, do such trip only if you understand all risks or you have a contact with locals in St. Petersburg who can put you up with car.
Personaly I suggest you a train - it goes regularly and you can book the tickets up to 45 days before trip.
@arney No, not murder, I think. But a fight with locals really can happen - as a tourist you'll differ from general people, especially near train stations - there are always some bad people, as in any country.
Also, as Wiki says (in Russian), there are a big home construction there now, and some workers are illegal immigrants, unfortunately, and you should be aware every minute there.