Richard Colvin said many Afghans arrested by the Canadian military were innocent and the practice of handing over prisoners knowing they could be abused was a war crime.
The startling public allegations -- the first of their kind from a senior official -- is likely to embarrass the minority Conservative government, which has insisted detainees were not passed to Afghan control if there was any danger of torture.
Canada has 2,700 soldiers in the southern Afghan city of Kandahar on a mission that is due to end in 2011.
Colvin, who was Canada's main representative in Kandahar for much of 2006 and 2007, said he had started sending reports in early 2006 to top officials indicating the Afghan National Directorate of Security (NDS) were abusing detainees.
"For a year and half after they knew about the very high risk of torture, they continued to order military police in the field to hand our detainees to the NDS," he said in testimony to a House of Commons committee on Afghanistan.
Colvin's comments come at a sensitive time. So far 133 Canadian soldiers have died in Afghanistan and recent polls indicate most in Canada oppose the mission.
A government official dismissed Colvin's allegations, telling Reuters there was little to back up what he had said.
"We frankly just found his evidence lacked credibility ... all his information was, he admits, at best second hand," said Lawrie Hawn, parliamentary secretary to the defense minister.
Colvin lashed out at Canadian military leaders in Afghanistan, saying they "cloaked our detainee practices in extreme secrecy," refused to hand over details of prisoners to the Red Cross in a timely fashion and kept "hopeless" records.
"As I learned more about our detainee practices, I came to the conclusion that they were ... un-Canadian, counterproductive, and probably illegal," he said, adding that senior officials in Ottawa initially ignored his reports.