The calculated distance (air line) between Dunedin and Invercargill is approximately 109 miles respectively 176 kilometers.
By car or train, the actual journey to Invercargill is certainly longer, as only the direct route (as the crow flies) between Dunedin and Invercargill has been calculated here.
Air line (approximately)
176 kilometers
95 nautical miles