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.
Also on HuffPost