Dozens more were wounded on Monday when the truck tore through the crowd, smashing through wooden stalls and crushing victims, in scenes reminiscent of July's deadly attack in the French Riviera city of Nice.
READ MORE: Monday night's live updates
Police detained the man believed to have deliberately crashed the heavy vehicle loaded with steel beams into the festive market in a area popular with tourists near the capital's iconic Kaiser Wilhelm Memorial Church.
The man behind the wheel was an asylum seeker believed to be from Afghanistan or Pakistan who arrived in Germany in February, according to security sources cited by DPA news agency.
A Polish man, thought to have been the truck's registered driver, was found dead on the passenger seat, and police said he had not steered the vehicle.
Twelve people were killed and 48 others injured as the lorry tore through the market for as far as 80 metres in the incident which came less than a week before Christmas.
“I don't want to use the word 'attack' yet, although there are many things pointing to one,” said Interior Minister Thomas de Maiziere hours later.
Berlin police early on Tuesday said they presumed the lorry was “intentionally steered” into the crowd and called the bloody carnage a “probable terrorist attack”.
One of the survivors, Australian Trisha O'Neill, said she was only metres from “this huge black truck speeding through the markets crushing so many people”.
“I could hear screaming and then we all froze. Then suddenly people started to move and lift all the wreckage off people, trying to help whoever was there,” she told the Australian Broadcasting Corporation.
O'Neill said there was “blood and bodies everywhere”.
'We mourn the dead'
Chancellor Angela Merkel reacted quickly, with spokesman Steffen Seibert tweeting: “We mourn the dead and hope that the many people injured can be helped.”
A German police spokeswoman told AFP that a man who was apparently driving the truck had been detained while the passenger was dead.
The daily Tagesspiegel said the man behind the wheel was known to police but for minor crimes, not links to terrorism.
Police later identified the passenger as a Polish national, while the Polish owner of the truck confirmed his driver was missing.
“We haven't heard from him since this afternoon. We don't know what happened to him,” transport company owner Ariel Zurawski told AFP on Monday evening.
“He's my cousin, I've known him since I was a kid. I can vouch for him.”
Lukasz Wasik of the same company said contact was lost with the 37-year-old at around 3pm.
Traditional Christmas markets are popular in cities and towns throughout Germany and have frequently been mentioned by security services as potentially vulnerable to attacks.
“It's awful. We were in Berlin for Christmas,” said American tourist Kathy Forbes. “We also thought it would be safer than Paris.”
The crash happened at a square at the end of the Kurfürstendamm boulevard in the shadow of the Kaiser Wilhelm Memorial Church whose damage in a World War II bombing raid has been preserved as a reminder of the horrors of war for future generations.