Union Pacific Railroad spokesman Aaron Hunt said both trains involved were hauling loads of grain when one struck the rear end of the other about 9:30 a.m. near Mountain Green.
Hunt did not immediately know if a snowstorm and fog reported in the area at the time of the accident were factors.
"We are certainly looking at the weather in this, and already the weather has hampered somewhat our ability to get our response teams to the scene as quickly as we would normally," Hunt said late Wednesday morning.
Hunt said two cars had spilled their loads. He said UP accident scene mitigation teams would work with local emergency responders to remove the grain and any soil associated with the diesel spill, as well.
In the meantime, the tracks will remain closed. Hunt said it "will take some time, even several days" for the cleanup to be completed and normal rail traffic on the affected span resumed.
Weber County sheriff's Lt. Mark Lowther said the locomotive and at least two cars had completely left the tracks and rolled, and that an unspecified amount of debris had landed on nearby Interstate 84.
Traffic on one of the highway's westbound lanes was being restricted while cleanup proceeded near milepost 89, an effort expected to extend into Thursday.