Passions ran high in Odessa before local football team Chornomorets was due to play Kharkiv's Metalist.
Fans who joined together to sing support for Ukraine's new leaders knew they might attract some trouble in the Russian-speaking city, but no one expected the chain of events that ended in the death of more than 40 people.
"Everything that happened was like in a horror movie," said Nadiya Yashan, a Chornomorets supporter who accused pro-Russian militants among the away fans of launching a ferocious attack.
"We never expected an ambush on such a scale and the police to do so little," she told Ukrainian television.
Over a few hours, running battles moved through the city, along the streets to a camp occupied by pro-Russian supporters, then to a Soviet-era trade union building where dozens of rebels disdainful of rule from Kiev later died in a blaze that engulfed the building.
The mood on a warm afternoon had been friendly. Some supporters of both teams joined together to walk the route to the stadium before kickoff, displaying their support for the new pro-Western authorities, chanting their contempt for President Vladimir Putin.
Since President Viktor Yanukovych was toppled in an uprising in February, some Ukrainian football teams' supporters have started to put aside sporting rivalries before games to show support for Ukrainian unity, often singing the national anthem and anti-Putin songs.
Tent City
According to local news website viknaodessa.od.ua, the starting point of the fighting was when the two teams' supporters were walking down a central street when armed men, wearing masks, in black attacked them, some shooting pistols.
Television pictures showed police with shields attempting to form a barrier between the fans and pro-Russian activists
The fans responded by throwing stones. Many tried to flee.
Why the battles moved from the street grid of Odessa's mathematically laid out city is not entirely clear.
Many say Kiev supporters heard that shots had been fired at a square called Kulikovo Polye, or Kulikovo field, and ran there to find out what had happened. Others say they went there to torch the tent city that pro-Russian supporters had built in protest against Kiev.
Tents were burnt and some pro-Russian supporters decided to hide in the nearest building, the news website said. That was the stately, white five-story trade union building.
"Who let them in and why? I just don't know. That is not a question for me," said one Odessa native.
It is not clear who first started throwing petrol bombs.
At least one town official suggested the fire may have started on the third floor, which would suggest that the cause of the blaze was something other than a petrol bomb thrown from outside. That could not be independently confirmed.
"The fire engines came very late. The fire was raging. Those who had not been overcome by smoke, just started jumping out of windows. It is a tall building so you can imagine what happened," said an eyewitness.
Some talk of a "third force" a reference to what Kiev calls pro-Russian "saboteurs" accused of fomenting unrest in Ukraine to stop it travelling a pro-Western path and keep it firmly within the Kremlin's embrace.
Moscow denies playing any role in the uprisings in Ukraine and has said Kiev and its Western backers were responsible for the deaths in Odessa.
Witnesses say both sides tried to help those trapped in the building. Some carried scaffolding to windows to try to get people out.
The charred building is now surrounded by flowers and hundreds of people calling for Russia to help.
Announcement of a police investigation is unlikely to ease anger. Pro-Russians have little confidence in the police while Kiev has often only a tentative hold on its security forces in many cities.
"I grieve with Odessa," said Anatoly Shanin on the social media site Vkontakte. "It is difficult and painful to see your hometown in flames."
A Message from The Moscow Times:
Dear readers,
We are facing unprecedented challenges. Russia's Prosecutor General's Office has designated The Moscow Times as an "undesirable" organization, criminalizing our work and putting our staff at risk of prosecution. This follows our earlier unjust labeling as a "foreign agent."
These actions are direct attempts to silence independent journalism in Russia. The authorities claim our work "discredits the decisions of the Russian leadership." We see things differently: we strive to provide accurate, unbiased reporting on Russia.
We, the journalists of The Moscow Times, refuse to be silenced. But to continue our work, we need your help.
Your support, no matter how small, makes a world of difference. If you can, please support us monthly starting from just $2. It's quick to set up, and every contribution makes a significant impact.
By supporting The Moscow Times, you're defending open, independent journalism in the face of repression. Thank you for standing with us.
Remind me later.