The crash happened just after 7 a.m. at FM 2100 and FM 1960.
Harris County sheriff's deputies said the the cab of the semi-truck was on the tracks when it was hit by the train, which pushed the cab about 30 feet down the tracks.
Deputies said the truck was headed northbound on FM 2100 and the train was headed east on the tracks before the crash.
Sheriff Ed Gonzalez confirmed that the driver of the semi-truck was killed.
SkyEye video from above the crash showed the train stopped on the tracks.
A man who works at a nearby gas station told ABC13's Charly Edsitty he heard the collision and saw a fire ignite.
"I saw a big fire and heard a big noise. That's it," Lakmal Narosha said. "I saw the train go through the big fire. That's all I saw.
The train is a Kansas City Southern train.
Investigators say the crash caused a hazmat situation due to a large fuel spill from the semi-truck.
Officials said the cleanup would take four to six hours. FM 2100 was closed in the meantime.
"They will be separating the trains in a little bit, I'm assuming to check the integrity of the tracks and also to do the hazmat cleanup," Captain Anthony McConnell said.
FM 1960 westbound at FM 2100 and FM 2100 at FM 1960 in both directions all lanes closed due to heavy truck/ hazmat/ train crash. This is south of Huffman and north of Crosby. Seek alternate route. Crews expect incident to take 4-6 hours to clear. pic.twitter.com/r03y9o9fTs— TxDOT- HOU District (@TxDOTHouston) September 8, 2021
Follow Charly Edsitty on Facebook, Twitter and Instagram.