The accident happened near the town of Ibbenbueren when the train, from Osnabrueck, struck the vehicle which was carrying manure, officials added.
Three of those injured were said to be in a serious condition.
Initial reports said the vehicle got stuck while trying to cross the railway line, police said.
Police spokesman Jochen Laschke said the incident happened in a rural area close to Ibbenbueren which is about 23km (15 miles) west of Osnabrueck.
"We got an emergency call at 11:31 (09:32 GMT) and rescue team, fire fighters and psychologists from all over the region were activated to help."
"The train was very crowded," he said.
Mr Laschke said that after hitting the tractor-trailer, the train came to a halt about 200m (650ft) down the track. He added that the driver of the tractor had not been injured.
Footage from the scene showed parts of the tractor on one side of the tracks and a tank that had been carrying the manure on the other side.
The front of the train was badly damaged with windows and metal parts torn away.
German media said the train, which had been heading to Ibbenbueren, was operated by private rail company Westfalenbahn.
At least two people were killed and 20 injured in western Germany when a passenger train hit a tractor-trailer on a level crossing, police say.