Both sides of George St, between Frederick and Hanover Sts, were evacuated and police cordoned off the area between 9am and noon.
A strong smell of gas was reported about 9.30am in a part of the street where refurbishment work is being done by Dunedin City Council contractors.
In a Facebook post, the council said the area was evacuated as a precaution.
"We don’t yet know what caused the leak, but we apologise to affected businesses, residents and the wider public for the disruption."
A Genesis Energy spokeswoman said staff had repaired the gas main and were working to restore gas supply to affected addresses as quickly as possible.
The spokeswoman said gas supply had to be restored in sections for safety reasons.
Some addresses had gas restored yesterday, while others might have to wait one to two days.
"We will meet with the council and external contractors with the aim of ensuring this type of incident does not occur again."
A Fire and Emergency New Zealand (Fenz) crew member at the scene said a contractor hit a gas pipe in the construction zone, causing the leak, and crews worked to trap the gas by spraying the leak with water.
The gas leak was stemmed about 12.30pm.
However, Fenz incident controller Rob Torrance said fire crews remained at the site for another hour after to ensure the area was safe, because there was residual gas in basements and stormwater drains.
"There was no danger to the public, provided people respected the cordons and stayed out of the area," he said.
The cordon was lifted about 2pm.
Fenz appliances from Dunedin Central, Roslyn and Willowbank stations were called to the incident.