Initial police reports stated that the truck, which had become stuck at rail crossing, was hit by the train around 9:20 am near Neuenhagen, a community just to the east of the German capital's city limits.
Berlin daily Der Tagesspiegel reported that the train was travelling into the city from Strausberg when it hit the truck, which was laden with cement slabs.
A police spokesperson told the paper that the truck had been trying to reach a construction site near the tracks, but couldn't fit through the small entrance and became stuck while trying to turn around.
Meanwhile the S-Bahn driver, who was injured in the accident, was driving the train around a curve, unable to see the truck. The driver engaged his emergency brakes, but the train slammed into the rear of the truck going about 50 kilometres per hour, police told the paper.
The train suffered major damage to its front car but did not derail.
The 48-year-old conductor sustained a broken leg, severe bruising and was hospitalised. Two women among the 90 passengers on board were also reportedly injured, but there were no further details on their status, the paper said.
The rail crossing at Neuenhagen is one of just a handful of remaining crossings along Berlin's S-Bahn network, the paper said.