Although it's sometimes easy to forget, St. Petersburg is a seaside town and, while there is not much to be caught in the Gulf of Finland, the rivers and lakes of Northern Russia produce a huge quantity of excellent fresh fish.
Fish of all varieties is highly valued in traditional Russian cuisine, so much so that St. Petersburg even has a festival every spring devoted to the arrival of smelts (koryushka) in the Neva Delta. Other local specialties include trout, perch and Baltic herring - soused herring with boiled potatoes is particularly prized as an accompaniment to vodka.
The number of St. Petersburg eateries serving local fish is quite limited, unfortunately. Easier to find are top-end restaurants serving imported fish (mostly from Western Europe) and luxury seafood (including Kamchatka crab and, of course, Russian caviar). These include some of the best and most expensive restaurants in St. Petersburg.