
Senior Sergeant Anthony Bond said police were patrolling in Forbury Rd when they saw a car being driven at speed on the wrong side of the road, about 12.15am on Saturday.
Officers stopped the car and the 23-year-old driver recorded a breath alcohol reading of 1004mcg, Snr Sgt Bond said.
The legal adult limit is 250mcg.
At 2.10am on Saturday a driver was stopped for driving at speed in George St.
The 19-year-old driver tried to walk away before recording a breath alcohol reading of 932mcg.
Drivers under the age of 20 have a zero-alcohol limit.
On Sunday, about 2.10am, police were patrolling in the South Dunedin area and saw a car run a red light.
The 21-year-old driver recorded a breath alcohol reading of 834mcg.
All three men had their licences suspended for 28 days and will appear in court.
At 3pm on Sunday a 56-year-old man was stopped at a checkpoint in Highgate.
He was about 100m from his home and recorded a breath alcohol reading of 600mcg, Snr Sgt Bond said.
At least six other drivers were dealt with by police for intoxication.