Up to 2,000 metric tons of fuel oil have leaked near the Black Sea after a Russian oil tanker split in half.
It came apart after it was smashed by 108km/h (67 mph) winds and 5m (16ft) waves in the Kerch Strait between the Azov and Black Seas.
Four other ships sank in the storm, some of them carrying dangerous cargos, and several more were in trouble.
The tanker's 13 crew were rescued after several hours, but more than 20 were reported missing from the other ships.
Dozens of vessels have reportedly been evacuated from the busy Russian commercial port of Kavkaz because of the storm.
'Sinking to seabed'
The broken oil tanker, the Volganeft-139, was at anchor when its stern tore apart in Ukrainian waters on the busy waterway dividing that country and Russia, officials said.
A regional prosecutor told local media the tanker was designed in the Soviet era to transport oil on rivers and was not meant to withstand heavy storms.
Another official told the BBC that almost half of the ship's cargo of more than 4,000 tons of fuel oil had been spilt.
Russian environmentalist Vladimir Slivyak told local media the tanker accident was a "very serious environmental disaster".
The heavy oil was sinking to the seabed and could take years to clean up, he said.
But the oil spill is small by comparison with the Prestige disaster off Spain five years ago.
Severe habitat damage was caused to beaches in Spain, France and Portugal when a tanker leaked 64,000 tons of fuel oil in November 2002.
Three other vessels that sank in Sunday's storm were carrying thousands of tons of sulphur.
Meanwhile, 15 crew members were reportedly missing from a scrap metal ship that sank 300km (187 miles) further west, near Sevastopol on Ukraine's Crimean Peninsula.
Yet more ships ran aground or slipped anchor and drifted at the mercy of the storm.
A second oil tanker was being monitored closely because its hull had developed cracks.