The bus kept moving and no injuries were reported in the incident, which happened about 11.10pm.
Senior Sergeant Anthony Bond, of Dunedin, said the 61-year-old driver hit the Portobello Hotel and Bistro in Harrington Point Rd, as well as the telephone box across the road.
The driver was located on Portsmouth Dr and not aware that he had driven into anything.
He was given an infringement notice for careless driving, Snr Sgt Bond said.