It happened Tuesday morning in a Whole Foods parking lot on Telegraph Avenue in Berkeley.
"I thought he was going to beg for money, but he said, 'I have a gun.'"
And he did.
It was Harmony Bates' weekly trip to Whole Foods. The personal chef and dancer was about to load her two grocery bags into her cherished Volkswagen van when a man with a gun told her to give up her money.
"So I yelled help and help, and he punched me in the face and I saw the gun actually," she described.
The man had a pistol in his waistband. He pushed her into the van, but that wasn't enough to scare the 54-year old Oakland resident.
"I grabbed the gun and I turned it at him and I said, 'If you don't leave right now I'm going to shoot your balls off," Bates said laughingly.
And she did fight him off and has the cuts and bruises to prove it.
"I was actually kind of shocked. I thought 'That's all he has for a punch?'"
She happened to have a small pair of scissors she uses for gardening, the blade only a couple inches long, in her vest pocket. She thought she had lost them until she put the vest on that morning.
Bates went on to explain, "I grabbed them and I just started stabbing him in the shoulder and I started stabbing him in the neck."
It was enough to scare him off.
He ran down the street and unsuccessfully tried to carjack another person sitting in a car. On his third try police say he saw someone coming out of a house carrying car keys and carjacked that person.
Police usually tell people not to fight back.
"We don't encourage it. However, in this case it probably did the trick," said Officer Andrew Frankel with the Berkeley Police.
"If they catch this guy I hope it's a message to guys that are walking around with guns that even if they say 'I have a gun,' it doesn't mean people are going to lay down for them," said Bates.
The suspect's condition remains unknown. He was last seen driving south on Telegraph Avenue in a black 2008 Subaru Outback. He is described as an African American male, 40 to 50-years old, wearing a blue plaid shirt, a dark beanie cap and black pants, with his hair in twists. The Subaru's license plate number is "5ZTN502."
Anyone with information is asked to call Berkeley Police.