Senior Sgt Anthony Bond said the man, aged 58, was "clearly under the influence of alcohol" when people spotted him at the Night n Day store in Milton about 4.20pm yesterday.
Members of the public said they were "concerned" about the man as he got back into his car and drove away.
Police stopped the man not long after drove off; and forced him to take a breathalyser test.
He recorded 1419mcg per litre of breath—the adult limit is 250mcg.
The man told police he had drunk "about two bottles of wine" earlier that day, Senior Sgt Bond said.
He was charged with driving with excess breath alcohol, and had his car impounded and licence suspended for 28 days.
Police dealt with several other driving incidents in Dunedin yesterday.
At 10.50pm last night, a 42-year-old was driving down Castle St when he got distracted by his cellphone and rolled down an embankment.
He managed to walk up the hill and was taken to hospital for a check-up but had no injuries.
The incident was alcohol-influenced, Snr Sgt Bond said, and the man had a blood sample taken on site to determine whether he had been driving over the limit.
About 3.45pm yesterday, police attempted to stop a driver speeding down Hillside Rd.
The driver, aged 48, managed to stop his vehicle at the Bottle-O carpark and ran away from police until he was caught and charged with failing to stop and dangerous driving.
Meanwhile, police are enquiring how a 50-year-old driver managed to run over a 73-year-old man’s foot at Rattray St yesterday.
The 73 year-old also suffered head injuries and had to be taken to hospital.