Port Elizabeth police arrested a 19-year-old suspect after he allegedly robbed a tourist walking along the beach on Marine Drive.
Police Spokesperson Colonel Priscilla Naidu says an elderly couple from Britain eventually stopped to rest on one of the benches when they were approached by the suspect.
The man threatened them with a firearm and demanded the woman's gold chain.
He snatched it off the neck of the 74-year-old victim before running away.
Two men, one on a bicycle and one in a bakkie, saw what had happened and gave chase.
The suspect was seen jumping into a taxi, but when they stopped the taxi to get the suspect he fired a shot injuring one of the men.
A 35-year-old man was shot in the hip and taken to a hospital.
Naidu says the teenager will appear in court on a charge of attempted murder and armed robbery.
Police also seized a firearm used in the crime.