Authorities say the driver struck a guardrail on Route 21 before going into the Passaic River around 10 a.m.
She was able to get out through the window and made it to the top of her car.
The good Samaritan, later identified as Michael James, jumped into the water to help her before the car floated away about 100 yards from shore.
The Navy veteran said other drivers had pulled over, but no one was going into the river to help, so he knew he had to do something.
"There really wasn't even a second of deciding, I just went, didn't even think about it," he said. "She was good, she was panicking a little at first, I tried to get her to calm down, but she was good, she listened and helped me help her."
Police threw life preservers into the water to get both people out before the car sank and became fully submerged.
"She was able to get out the window onto the back of the car, a good Samaritan driving on Route 21 saw the accident, he ended up jumping in the river to rescue her, he was holding onto her when two Belleville police officers arrived on scene, they threw life preservers to both the victim and the witness and we pulled them both out," Lt. John McAloon with the Belleville Police Department said.
Both the driver and James were taken to the hospital with non-life-threatening injuries but were treated for mild hypothermia.
James is currently trying for a spot in Clifton's fire department.
* More New Jersey news
* Send us a news tip
* Download the abc7NY app for breaking news alerts
* Follow us on YouTube