St Micheal's-on-Sea is situated at the mouth of the Mhlangeni River, approximately 10 km (6.2 mi) south-west of Port Shepstone and 5 km (3.1 mi) north-east of Margate and is bordered by the coastal towns of Shelly Beach to the north and Uvongo to the south.
[2][3] Although St Michaels’s-on-Sea is officially a distinct sub-place from Shelly Beach, it is often regarded as part of Shelly Beach, sharing the same postal code as the area.
Other than St Michaels Sands, there are many holiday apartments, a few guest houses and B&Bs surrounding the hotel.
[4] St Michael's-on-Sea is located at the junction of Marine Drive and Knoxgore Road.
Marine Drive (R620) is the main route through the village, passing from Shelly Beach in the north to Uvongo in the south, while Knoxgore Road connects St Michael’s-on-Sea with Gamalakhe to the west.