The derailment happened early this morning about 150 kilometres east of Saskatoon.
The 64-car CP train went off the tracks just west of Jansen, a village southeast of Humboldt, Sask.
An investigation into what caused the derailment is under way, said Ed Greenberg, a Canadian Pacific spokesperson.
All five rail cars that left the tracks were carrying oil. Greenberg said the 575 barrels of crude oil that leaked from one of the cars is contained.
"We are ensuring that any of the spilled product is cleaned up," he said, adding that the process includes the use of special vacuum trucks and the removal of any contaminated soil.
He could not say how long the cleanup will take.
"We will make sure we will take the time to carry out the response," he said.
The closure affects one of the main lines in Western Canada, but only the section of track around Jansen is closed and trains are being rerouted, he said.
A CP official said the spill does not pose a risk to the public.
Witnesses told CBC News that the derailment happened around 5 a.m. CST.
Five cars are off the tracks, they said, and about 80 metres of track have been destroyed.
Photos from the local fire department show the derailed cars on their sides in a ditch, and witnesses said it appears the railbed gave way.
The train had been approaching the village at a slow speed when it went off the rails, CBC News was told.
There were no reported injuries, police said.
There are currently no estimates on how much the derailment will cost, Greenberg said.