The Amtrak Silver Star was heading into the Tampa area when it hit the truck, which was hauling scrap metal, fire Capt. Bill Wade said.
The train, which was carrying 75 passengers and 14 crew members, stopped safely after the crash and did not derail, Wade said. The semi caught fire and was destroyed. The 45-year-old truck driver, whose name was not immediately released, died on the scene, Wade said.
Two passengers were treated on the scene, one for a back injury and the other for breathing difficulty, Wade said.
The cause of the crash was under investigation. Wade said the crossing was not on a public road and had warning lights and a crossing gate.
The train was en route to Miami from New York, Amtrak said.