One of the badly hit beaches is at Repino, close to where Gareth Southgate’s England team were based during the World Cup this summer.
A “mass death of ducks” has been caused in the Neva River and canals and lakes around the city from the poisoning which has washed into the Baltic Sea, say reports.
There is concern for people swimming for long periods of local beaches hit by toxic poisoning from the green peril, and those eating fish caught in the polluted waters.
Beaches at Zelenogorsk, Komarovo, Repino and Solnechny – all popular in the late summer – have turned green.
People have been urged by ecologists not to swim in the discoloured water.
Russia’s largest newspaper Komsomolskaya Pravda dubbed the pollution an “ecological catastrophe”.
There are reports of the water changing colour overnight and a foul odour.
Blame is being heaped on so-called blue-green algae or weed.
“The weed lives in the Gulf of Finland but actively grows now because of biogenic waste thrown into the water,” said Yury Shevchuk, ecological campaigning group Green Cross.
“It acts as nutrition for the weed.
“We regularly ‘feed’ this weed by disposing of waste in the water.”
He warned: “This weed is dangerous for people.”
The cyanobacteria produces a number of “potent” toxins.
The poisoning can be damaging to the liver, he said.
“It is hard to die from it though, because one has to eat lots of poisoned fish or to drink such water.”
In recent weeks dead ducks have been found in the Kalininsky district of St Petersburg, and in the rivers Neva, Novaya and Sosnovka.
Ksenia Mikhailova, head of wild animals rehabilitation department in St Petersburg said: “We have just one duck-survivor.”
One local said: “I have never seen such waters… is anybody going to clean it up?”
The authorities say the problem has been exacerbated by hot weather this summer.
They expect the problem to dissipate when cooler temperatures arrive.
But locals are concerned that no action is being taken to stop the leakage of biogenic waste into the waterways.