The woman was walking to her car after work when she was grabbed from behind, she told police.
A rape victim helped catch her attacker by finding his wallet when she returned to the crime scene to look for her car keys, police said.
The woman had been walking to her car after work when she was grabbed from behind by a man who held a knife to her throat, she told Hollywood, Florida, police.
Read: Passing Motorist Sees Babysitter Raping 3-Year-Old Girl, Calls 911, Then Follows Him: Cops
The assailant forced her behind some bushes in front of a house and forced her to perform oral sex on him, police said. He ordered her to pull her down her pants while holding a knife to her face, authorities said.
She managed to run when he fell while trying to change his position, the woman told police.
Cristian Londono Castro, 25, was arrested at his home shortly after the alleged attack, according to a police report, CBS affiliate WSVN-TV reported.
The woman had gone back to the scene to find her car keys, and discovered a wallet containing Castro’s identification, police said.
Caterina Schraiber, 17, told the station she had been watching television with her older sister when someone began frantically knocking on their front door.
Read: Rapist Cop Daniel Holtzclaw Sentenced to 263 Years in Prison for Attacking 13 Women
The teen opened the door, she said, and “saw a girl, and her pants were kind of hanging off, so obviously we let her in because she looked like she needed help,” the teen said.
“We locked all the doors and made sure no one was behind her.”
The woman was wearing her waitress uniform from a nearby restaurant, Schraiber said.
Castro was charged with aggravated battery and armed sexual assault, according to authorities. He is being held without bail. He does not yet have an attorney and has not entered a plea, according to local reports.
Watch: Former Fox News Reporter Arrested on Rape and Forcible Sodomy Charges: Cops