Hundreds of pro-Russian militants have stormed the police headquarters in the Ukrainian port city of Odessa, where 42 people died in clashes two days ago.

An AFP reporter on the scene said the crowd shouted "fascists, fascists" as they attacked the building, demanding the release of some of their number arrested during the clashes.

In a bid to calm the crowd, police freed one of the detained pro-Russians, who emerged to cheers of "well played" from the protesters.

The protesters, some armed with batons, had made it into an interior courtyard.

Odessa, a scenic Black Sea port home to more than one million people, was still in shock after running battles on Friday between pro-Russians and pro-Kiev protesters culminated in an inferno that left 38 dead.

The majority of those trapped inside a trade union building in central Odessa were thought to be pro-Russian supporters who had barricaded themselves in.

Both sides were lobbing petrol bombs at each other when the blaze erupted, sparking frantic efforts to escape.

According to local health officials, 30 died when they were overcome from fumes and eight in the desperate bid to escape.

A further four were killed by gunshot wounds during the initial clashes, officials said.

Ukraine's Prime Minister Arseny Yatsenyuk, who visited Odessa earlier today, blamed the deaths on what he called "inefficient" police.

He vowed a "full, comprehensive and independent investigation" into the tragedy, as authorities declared two days of mourning.

The prime minister laid the blame for the deaths at the security forces.

"These security forces are inefficient and they violated the law," he told the BBC.

"The prosecutor's office is to investigate everyone - starting with the chief of police, his deputies and every single police officer," he added.

However, he blamed pro-Russian demonstrators for "provoking" the violence.

Authorities have previously admitted the security forces were "helpless" to prevent pro-Russian militants seizing a string of towns in the east.

More than a dozen towns have fallen under rebel control and the Western-backed government in Kiev has launched what it calls an "anti-terrorism" operation to retake them.