Up to 20 other people were seriously injured in the accident which happened at Hordorf near Oschersleben, in Saxony-Anhalt, firemen and police said. They gave differing numbers.
About 20 others suffered minor injuries, according to firemen. A total of 40 people were evacuated to hospitals, a police spokesman said.
Contrary to earlier reports from police the trains did not catch fire, according to fire service officials. The passenger train derailed and landed on its side.
No images of the accident scene were shown on German television in the hours following the drama.
More than 150 firemen, police and rescue workers were at the scene.
The regional train was the HarzElbeExpress (HEX) travelling between Magdeburg and Halberstadt.
The causes of the accident were not immediately known, the northeast region spokesman for the Veolia group which runs the HEX line told AFP.
There is a single line running between Magdeburg and Halberstadt and maintenance work was scheduled for the night, the HEX website said.
Traffic was interrupted on the line and bus shuttles were set up, a HEX staff member said contacted by telephone.
The Veolia spokesman said the train had a capacity of about 100 but could not say how many were on board at the time of the collision.
The goods train also belonged to a private company.
Police set up an emergency number that could be called by families of the victims.
Germany has been hit by several deadly train accidents in the past few years.
In 2006, 23 people were killed and 10 injured when an experimental magnetic suspension Transrapid train crashed at 170 kilometres an hour (over 100 mph) on a test track at Lathen in northwest Germany in a collision with an inspection vehicle.
Three years earlier six people died and 25 were injured in June 2003 in a frontal collision between two regional trains near Schrozberg in the southwest of the country.
But the worst postwar train disaster occurred on June 3, 1998 when an InterCity Express (ICE) travelling from Munich in the south to Hamburg in the north hit a bridge and derailed, killing 101 and injuring 88 at Eschede in northern Germany.
Last August 15 people were injured when an ICE high-speed train travelling from Frankfurt to Paris hit a garbage truck near Lambrecht in southwest Germany
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional