The attack happened around 6:20 p.m. in the 300 block of Lee Street, in the city's Adams Point neighborhood near Lake Merritt.
Officer Jeff Thomason said the victim, a 48-year-old woman who lives in the neighborhood, was approached by a man who demanded her car keys and then began attacking her.
"He started punching her in the face and then he grabbed her purse and fled," Thomason said.
People nearby heard the woman screaming and ran out to help her, he said. They caught up with the man and detained him until officers arrived and arrested him.
Thomason identified the suspect as 37-year-old Lloyd Dillard, and said he is an Oakland resident but doesn't live in the neighborhood where the crime happened.
The victim was badly beaten and had serious facial wounds, and was taken to a hospital. Her injuries are not considered life-threatening, Thomason said.
Thomason said Tuesday there is no link at this point between Monday's attack and the fatal beating of a 97-year-old woman on the same street earlier this month.
The body of Ivarene Lett was discovered May 12 inside an apartment that is also in the 300 block of Lee Street.
"There's no indication right now that this is related to the 97-year-old homicide victim, but like in any case we don't rule out anything," Thomason said.
Dillard was arrested on suspicion of robbery and attempted carjacking, Thomason said.