Dozens more were wounded yesterday 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.
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.
Twelve people were killed and 48 others injured as the lorry tore through the market for as far as 80 metres (yards) in the incident which came less than a week before Christmas.
More From This Section
"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 Tuesday said they presumed the lorry was "intentionally steered" into the crowd and called the bloody carnage a "probable terrorist attack".
"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".
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.
Police later identified the passenger as a Polish national, while the Polish owner of the lorry confirmed his driver was missing.
"We haven't heard from him since this afternoon. We don't know what happened to him. He's my cousin, I've known him since I was a kid. I can vouch for him," transport company owner Ariel Zurawski said yesterday evening.
Lukasz Wasik of the same company said contact was lost with the 37-year-old at around 3 PM (1930 IST).