塘厦属于东莞市直辖镇,不属于哪个区。位于东莞市东南部,东连清溪镇,西邻黄江镇,南接凤岗镇和深圳市观澜街道,北与樟木头镇相连。东西相距约11.4公里,南北相距约14.7公里,总面积128.2平方公里。
塘厦镇境内群山环抱,中部平原上分布着零散低矮的小山岗。全镇地势西南高东北低,是东莞市山区片的小盆地。塘厦盆地表层多为渗育型粘土和沙质土,往下1米处多是带粘性黄泥土或沙质红土(当地群众称其为“灰沙”,因可与石灰混合作建房之用),再向下一般是水石或灰黑色岩石。在四周起伏的山岭中,出露地层有下古生界震旦系、上古生界泥盆系、石灰系、侏罗系。