Flying into Tallinn is cheap and easy with Air Estonia. Catch a ferry to Helsinki, then a train to St Petersburg with Finnish rail. Book a ticket over the phone, confirm passport details etc via email and collect your tickets in Helsinki. The train is nice and relaxing and you follow (for the last part) the route that Lenin took arriving in St Petersburg to begin the Revolution (aka ‘The Sealed Train’).Having done it myself, it’s fast, easy and I highly recommend it.