The province is located on the Malay Peninsula, on the shore of the Andaman Sea. It is separated from Songkhla Province by the Nakhon Si Thammarat mountain range, and from Malaysia by the Sankalakhiri mountains.
The Ko Tarutao and Ko Phetra marine national parks are part of the province. Close to the border with Malaysia is the Thale Ban National Park, a big freshwater swamp area.