Russian forces dropped a bomb on a theatre where civilians were being sheltered in the besieged city of Mariupol, local officials say.
Deputy Mayor Sergei Orlov told the BBC between 1,000 and 1,200 people had sought refuge in the building. The number of casualties was still unknown.
The BBC could not independently verify the information.
Russia’s airstrikes and shells have previously hit a maternity hospital, a church and apartment towers.
Local authorities say at least 2,400 people have been killed in Mariupol since the start of the war, although they acknowledge this is likely to be an underestimate. Many of the dead are being buried in mass graves.
An estimated 300,000 residents are trapped inside the city, where running water, electricity and gas have been cut off. Food and water supplies are running low, as Russian troops have not allowed the delivery of humanitarian aid.
Mariupol’s city council said in a statement that Russian forces “deliberately and cynically destroyed” the theatre, saying a “plane dropped a bomb on a building where hundreds of peaceful Mariupol residents were hiding”.
The statement said the scale of the attack was still not clear because the city continued to be shelled. A picture released by the city council, and verified by the BBC, showed smoke billowing from the building, with the façade totally collapsed.
Ukraine’s foreign minister Dmytro Kuleba said this was “another horrendous war crime in Mariupol” and that “Russians could not have not known this was a civilian shelter”.
The BBC had been told that many children and elderly people were sheltering inside, and that conditions were quickly deteriorating.
The US company Maxar released satellite pictures taken on 14 March which it said showed the word “children” had been written in Russian on the pavement outside the building.
Hours after news of the destruction emerged, the Russian defence ministry denied it had carried out an air strike against the theatre, the RIA news agency reported.
About 1,500 cars had managed to flee Mariupol on Wednesday, according to Mr Orlov, the deputy mayor. But, he said, an attack by Russia on the convoy left at least five wounded, including a child.
Peter Maurer, the president of the International Committee of the Red Cross, called for better access to civilians caught up in the war, which he said was causing “enormous suffering”. Mr Maurer, who arrived in Ukraine for a five-day visit, described the situation in Mariupol as a “waking nightmare”.
Elsewhere, at least 10 people waiting in a queue for bread in the northern city of Chernihiv were killed by Russian shelling, the country’s prosecutor general said. Unverified footage released by a local outlet showed bodies on a street.
War in Ukraine: More coverage
- LIVE: Latest updates from Ukraine and nearby
- WATCH: Kyiv residents record life under siege
- ANALYSIS: Putin will search for a way to save face
- BUSINESS: The Western brands unable to leave Russia
- IN DEPTH: Full coverage of the conflict