Lamphun is located in the river valley of the Ping River. It is surrounded by mountain chains, with the Thanon Thong Chai Range in the west and the Khun Tan Range in the east of the province.
It is some 670 kilometres from Bangkok and only 26 kilometres from Chiang Mai.