อำเภอท่า ศาลา ตั้งอยู่ริมทะเลอ่าวไทย อยู่ทางทิศเหนือของอำเภอเมืองนครศรีธรรมราช ห่างจากจังหวัดประมาณ 28 กิโลเมตร ตามทางหลวงแผ่นดิน หมายเลข 401(นครศรีธรรมราช – สุราษฎร์ธานี) มีอาณาเขต ดังนี้
– ทิศเหนือ ติดต่อกับอำเภอสิชล จังหวัดนครศรีธรรมราช
– ทิศใต้ ติดต่อกับอำเภอเมือง จังหวัดนครศรีธรรมราช
– ทิศตะวันออก ติดต่อกับอ่าวไทย
– ทิศตะวันตก ติดต่อกับอำเภอนบพิตำ และอำเภอพรหมคีรี จังหวัดนครศรีธรรมราช
อำเภอท่า ศาลา มีพื้นที่ประมาณ 363,891 ตารางกิโลเมตร หรือประมาณ 227,432 ไร่ คิดเป็น ร้อยละ 3.72 ของพื้นที่จังหวัดนครศรีธรรมราช แบ่งเขตการปกครองออกเป็น 10 ตำบล 109 หมู่บ้าน และ 1 เทศบาลตำบล