Most of the dead were passengers on the morning rush hour train which hit the lorry in the village of Tabika, around 60 kilometres south of Tunis, the transport ministry said.
"We received the bodies of 17 people," said Riadh Khlifi, director of El Fahes hospital a few kilometres from the accident scene, "and another dead person was sent to Zaghouan hospital".
He added that among the 98 hurt, three were in a critical condition and had been sent to the capital for treatment.
The collision happened at around 6:30 am (0530 GMT).
More From This Section
Transport Minister Mahmoud Ben Romdhane said the accident happened because there was no barrier at the crossing, but this was disputed by the Tunisian National Railway Co (SNCFT).
"The main cause of the accident is the non-existence of a barrier... And protection at the crossing," he told radio station Shems-FM.
"In Tunisia, there are 1,150 rail crossings. Only 250 are equipped with signal posts and barriers and only 150 have lights. This is insufficient."
Train crashes are common in Tunisia, where much of the rail network is dilapidated, but Tuesday's accident was the deadliest in recent memory.
The presidency said it had called for an inquiry "to determine the cause of this catastrophe".
Witnesses spoke of mangled wreckage at the scene and dead bodies strewn across the tracks.
"A very loud noise woke me up. At first I thought it was an earthquake but then I saw this overturned truck and the bodies. Two bodies had their legs ripped off," local resident Habib Fayedh told AFP.
"He was alive but had head injuries. He didn't remember the crash."
Another witness described how bodies had been trapped under one of the carriages, which had overturned on impact.
"This is horrible; there is blood and bits of flesh everywhere," one witness told Shems-FM.