St Petersburg does not have especially good connections with the UK. In the absence of low-cost airlines flights can be quite expensive. The cheapest flights are almost always indirect. If you are prepared to pay a little more you should find direct flights with British Airways from London Heathrow.
The best deals are almost always from London Gatwick or London Heathrow. Airlines with reasonable fares usually include British Airways, Lufthansa, Air Baltic, Aeroflot and Aerosvit Airlines. The lowest fares from airports outside London are often from Birmingham, Manchester, Aberdeen and Edinburgh. Airlines worth investigating include British Airways, Finnair, Lufthansa, KLM, Air Berlin, Air France and Jet2.com.
The main airport serving St Petersburg. Half an hour from the city centre by bus. Direct flights with British Airways from Heathrow. Indirect flights with airlines like Lufthansa, Air Baltic and Aerosvit