Tom Overs, commander of the Moose Jaw fire department, says the eastbound Canadian Pacific Railway (TSX:CP) train derailed about 2 p.m. local time near Caron.
CPR spokeswoman Salem Woodrow said three cars were carrying asphalt, five had lumber and 16 contained gasoline.
"There's been no leaks or spills, no injuries and no public safety issues," she said late Wednesday afternoon.
Some of the cars were on their sides, Woodrow said.
CPR has re-routed traffic because the derailment has blocked its main line.
It's too early to say what caused the cars to go off the tracks, Woodrow said.
She also said it's not known how long it will take to clear the tracks.
The Transportation Safety Board of Canada has sent a team of investigators to the site.
— With files from CJME
Note to readers: This is a corrected story. A previous version said 23.