Eric Sleuriot, who was nearby, told the Melbourne Age newspaper: "It's bloody awful. I just can't believe it."

The Commonwealth Bank, Australia's biggest, said the branch would remain shut for the rest of the day, with its response team on site.

"We are working closely with local authorities and emergency services," it said in a statement.

Ernie Gonzalez heard a witness say a man set himself on fire at the entrance of the bank before running inside and spraying gasoline on the floor.

"He's setting the carpet on fire as he's running towards the back of the bank," he said, according to the Age.

Mr Gonzalez said bank staff had to run through the flames to get out of the building.

"I could see flames in the entrance and I could see people running out covered in charcoal - they were black," he said.

A worker from the shop next door said he heard an explosion and called emergency services.

“I heard an explosion but not that loud,” the man, who did not want to be named, told Australian Associated Press. “I just walked out of the shop to have a look and I called triple-zero.

“There was lots of smoke coming out of the bank.”