Fierce fighting between Ukrainian troops and pro-Russian rebels broke out in the southeastern city of Mariupol on Friday, killing 21 people, all but one of them insurgents, Ukraine's interior minister said.
An attempt by around 60 rebels armed with automatic weapons to storm the police headquarters turned into a "full-scale military clash" when army and interior ministry troop reinforcements arrived, Arsen Avakov said on his official Facebook page.
He said the death toll from the near-two-hour combat stood at 20 rebels and one policeman, while another four policemen were wounded and four rebels were captured.
"A significant part of the terrorist group has been destroyed," Avakov said.
The violence erupted as Ukraine was observing commemorations for the Soviet victory over German forces in World War II.
It occurred at the same time Russian President Vladimir Putin was making a controversial visit to the annexed peninsula of Crimea to inspect Russian naval forces based there.
'Awful lot of shooting'
Mariupol, a port city with a population of 500,000 located close to the Russian border, has been the scene of several clashes between Ukrainian forces and rebels in the past days and weeks -- though none as deadly as Friday's.
Witnesses in Mariupol told AFP the fighting was ferocious and involved an exchange of automatic gunfire and shelling from eight armoured vehicles.
The police headquarters was gutted by fire and, after the battle, firemen were at the scene trying to extinguish the flames.
The bodies of two men wearing civilian clothes and covered by blankets lay on the road in front of the building.
"There was an awful lot of shooting," said one eyewitness who gave his first name as Aleksandr.
"The tanks came and shot at the building," he said, adding: "I loaded one young man with a head wound into a taxi -- I don't know if he survived or not."
Another man, a pro-separatist named Oleg, said that "the army came and fired on us after the police refused to shoot".
He added: "There were many wounded -- I saw at least eight".
Near the city hall, which was also blackened by fire, several hastily erected barricades were smouldering and burnt, testament to the sudden and savage fighting.
A crowd of several dozen separatists was seen tipping over two old vans to form a new barricade to slow any further military incursions.
Rebels were also seen in an armoured vehicle flying the flag of the self-proclaimed Donetsk Republic being towed on a rope by a truck through the town. A dozen young men on it waved to a cheering crowd on the street.
"We seized it from the army," boasted a separatist.
Violence ahead of rebel vote
Members of a crew from Britain's ITV News who were in the city as the combat was under way Friday said they saw heavy guns being used and smoke from burning tyres rising above Mariupol.
"Just filmed serious fighting downtown Mariupol. Snipers everywhere. Heavy guns. A man got shot just next to me. Black smoke over the city," wrote cameraman Daniel Demoustier on his Twitter feed.
Ukraine's military is waging an increasingly deadly offensive against the pro-Moscow rebels, who this weekend plan to hold referendums declaring independence.
Putin has repeatedly denied any direct or indirect support for the rebels. On Wednesday, he called for them to postpone their vote, but the public request was ignored.
The Russian leader had also denied deploying troops to Crimea ahead of its annexation in March, but last month he admitted soldiers had been sent there and he awarded several of them medals.
Ukraine on Friday slammed Putin's visit to Crimea as a "flagrant violation" of its sovereignty.