Erik Barrett, 26, of the 2500 block of Beulah Street, was arrested after a tip call to police on Wednesday.
Video of the incident was released by police earlier this week.
It all began around 12:30 a.m. Monday as the victim was walking in the 2200 block of South Rosewood Street.
Police say he was approached by a man who was standing on the corner, who asked the victim for a lighter.
The two men had a brief conversation, police say, before the man on the corner - now identified by police as Barrett - pulled a gun and took the victim's Samsung Galaxy S3 cell phone.
Barrett then allegedly forced the victim to take money from an ATM at Broad and Jackson streets, but the victim couldn't withdraw any more money. So, he was led to a nearby 7-Eleven store to get cash, where video of the confrontation was recorded.
The tables are soon turned as the victim grabs the gunman with both arms from behind. The clerk even appears to help the man take the robber down.
During the struggle, the robber pulls out his gun and holding it to the victim's head. He breaks free, backs out of the store and flees the area.
Even though the victim was not injured, police taking on a man with a gun was a dangerous move by the victim.
"In this case, the heroics worked. It's not something that we would recommend," said Captain Larry Nodiff.
Store owner Joe DiFibritiis instructs his employees just to hand over the money and not to confront a suspect, but in this case the victim was a regular customer - a good guy - and his employee felt he had to help.
"He played the Good Samaritan. Fortunately, at the end of the day, it worked out okay and we can catch the guy and get a bad guy off the street . That's what we're looking for," he said.
Along with the phone, the suspect also got away with $30 in cash.