Several railway cars broke loose and sped out of control towards the port in Oslo, the capital, BBC reports.
Witnesses said they travelled at 100km/h (62mph).They derailed and smashed into a building, bringing part of it crashing down, killing and injuring some of those working nearby, police said.
Some of the 16 rail cars, with no locomotive, then fell into a fjord.
Vegar Halveg, who works at the port in the Sjursoeya district, said he heard a loud screech and saw several empty cargo cars speeding past.
"They were going much faster than they usually do, so we realised something was wrong," he told the Associated Press news agency.
"The last car was practically airborne."
Police and emergency workers are at the scene, along with coast guard helicopters and divers.
The Norwegian National Rail Administration said the wagons had come loose at the Alnabru cargo terminal, several miles away, and rolled to the port.