A Saskatoon taxi driver found himself in a terrifying struggle with two machete-wielding robbers Thursday night — but managed to wrest the weapon away without getting injured.

It happened just after 9 p.m. CST on the 300 block of Avenue E South in the Riversdale area.

A cab driver, 58, had two passengers who pulled out a machete and tried to rob him.

After a struggle, the cabbie managed to get the machete away from the two men. Then they ran away.  

A passing motorist alerted police to where they went and a dog unit and patrol officers tracked down a suspect a few blocks away.

The 29-year-old man has been charged with armed robbery, possession of a weapon and breach of probation.

Police continue to search for a second suspect.