John Bishop was driving northbound on I-295 Thursday just before 3 p.m. when he heard a scream as he took the off-ramp to Route 73, he told ABC Philadelphia station WPVI.
Bishop said he saw a man attacking a woman and dragging her toward the woods on the side of the highway.
"I just saw arms and long black hair and he just grabbed her and yanked her forcefully, like backwards," he said.
Bishop then made the split-second decision to park his car and run into the brush after them, he said. The suspect, identified by New Jersey State Police as Philadelphia resident Donald Cramer Jr., 52, was armed.
"I'm thinking, 'It's either gonna be him or me and it ain't gonna be me,'" he said.
Bishop got into a physical altercation with Cramer, he told WPVI. As Cramer tried to flee, he hit the highway guardrail with his torso, which allowed Bishop to grab him.
"I just grabbed him by the back of his pants and just flipped him over onto the street and jumped on him," Bishop said.
Three off-duty firefighters stopped and helped Bishop hold the suspect down until police arrived.
Officers from the Mount Laurel Police Department then arrived on the scene and arrested Cramer, police said.
The victim had gotten off at the wrong bus stop and was walking toward her car when she was attacked, WPVI reported. She was taken to a local hospital to be treated for non-life threatening injuries, police said.
Cramer was charged with kidnapping, criminal attempted sexual assault, aggravated assault, robbery, possession of a weapon for an unlawful purpose, terrorist threats, criminal restraint and resisting arrest, police said. He is being housed at the Burlington County Jail and his arrest records do not list a bail amount.
Bishop said he doesn't typically take that route home but changed his routine to run an errand that day. It was a twist of fate that brought him to the scene, he said.
"The big man put me there for some reason," he said.
Police praised Bishop for intervening in the attempted sexual assault.
"As troopers, we respond to a variety of calls everyday, and there are times when we must place our lives in jeopardy," New Jersey State Police said in a statement on Facebook. "Citizens are not necessarily held to this standard, but there are also times when good samaritans step in and risk their lives in order to protect others."
Bishop denied that he's a hero.
"The cops are heroes, not me," he said.