Russia shot down dozens of Ukrainian drones near Saint Petersburg, authorities said on Sunday, with an oil terminal hit and flights disrupted at one of the country's busiest airports.

The strikes came after Ukraine's leader Volodymyr Zelensky said this week Kyiv would resume hitting Russian refineries and insisted he was standing up for his war-torn country as support from the United States slumped.

The governor of the Leningrad region surrounding Saint Petersburg, Alexander Drozdenko, said 126 drones had been shot down.

"A large-scale UAV (unmanned aerial vehicle) attack continues to be repelled," Drozdenko wrote on Telegram.

Debris fell on homes, cars and power lines, causing brief power outages, he said, but did not report any injuries.

Saint Petersburg governor Alexander Beglov said the Ukrainian attack triggered a fire at the Saint Petersburg Oil Terminal, which was hit by Ukraine in June.

"Air defence systems are in operation," he wrote on Telegram.

Saint Petersburg's main airport Pulkovo was also restricting operations "for safety reasons", Beglov said.

Russia's state-run TASS news agency also reported disruption to departures at the airport.

The Russian VK social network said the attack targeted one of its data centres in the region but that the site was working as normal.

Zelensky told British newspaper the Financial Times this week that Kyiv was "done" and would resume strikes on Russia in retaliation for a wave of attacks.

US President Donald Trump, who has repeatedly criticised Ukrainian strikes on Russian refineries and oil depots, signed an executive order on Friday to waive sanctions and tariffs targeting Moscow's energy revenues.

The move, which came despite Russia increasing strikes on Ukraine in the fifth year of its war, drew criticism in both Europe and the United States.