A spokeswoman said police were called to the Melbourne Dairy on King Edward St about 1.40pm following a report of a man entering the premises with a weapon and stealing from the store.
No-one was injured during the incident.
The man was arrested a short time later on Oxford St.
There were no details about the alleged weapon, nor about what was taken from the store.
A 19-year-old male is due to appear in Dunedin District Court on Monday on a charge of aggravated robbery.
Police are not seeking anyone else in relation to the incident.