The incident happened around 4 a.m. Sunday on 16th Street in Windsor Terrace.
Police say the 34-year-old victim was walking home when a man came up behind her, reached up her dress and tried to pull her clothes off.
He knocked her to the ground before punching her repeatedly, and the victim was able to fight back. She kicked the man several times, and eventually he fled on foot.
Windsor Terrace neighbors woke up at the sound of screaming and the woman putting up a struggle.
The ordeal was captured by two different surveillance cameras:
"Saw it from my window, and I realized that she was in real distress," said a good Samaritan neighbor who aided the victim. "And it was really tough for her to fight this young man off...I opened the door, and she was glad there was someone there, just to help her out."
The man and his wife invited the victim in, gave her water and called 911.
"She kept repeating, 'This is a safe neighborhood, I never expected anything like this to happen,'" he said.
She was not seriously injured and refused medical attention at the scene.
"It's just like, wow, you know?" another neighbor said. "And to be on this block, in front of houses, on a sidewalk next to a road that cars go through? Someone must be really sick to even consider doing something like that."
The suspect was wearing a blue T-shirt and jeans. He is described as about 5-foot-11 and 180 pounds with curly hair.
Police are advising women in the area to be cautious.