Lyttelton is the largest settlement on Lyttelton Harbour, an inlet on the north-western side of Banks Peninsula extending 18 km inland from the southern end of Pegasus Bay. The town is situated on the lower slopes of the Port Hills, which form the northern side of the harbor and effectively separate Lyttelton from the city of Christchurch. This steep-sided crater rim acts as a natural amphi theatre and a boundary to urban development.
A tunnel through the Port Hills provides direct road access to Christchurch, 12 km to the north-west. The town of Sumner, some 6 km to the north-east, is accessed via Evans Pass. Another settlement at Governors Bay lies 10 km to the west and a ferry service connects the suburb of Diamond Harbour on the southern shore of the harbor.
The uninhabited Quail Island sits in the upper harbor southwest of Lyttelton