Lapuyan covers an area of 32900 hectares of land, located on the northern shore of Dumanquilas Bay, bounded on the east by the municipality of San Miguel, on the west by Dumanquilas Bay and the municipalities of Malangas, Buug and Kumalarang, to the north by the municipalities of Lakewood and Tigbao, and on the south by Dumanquilas Bay and the municipality of Margosatubig, all in Zamboanga del Sur.