El municipio está enclavado al pie de la vertiente suroccidental de la Sierra de El Suído, en el sur de la provincia de Pontevedra. Al norte está limitado por el municipio de Fornelos de Montes y Pazos de Borbén; al este por el de Covelo; al sur por el de A Cañiza y Salvaterra de Miño y al oeste por los de Mondariz Balneario, Ponteareas y Pazos de Borbén.
Su superficie es de 85,8 km². El municipio está surcado por el río Tea que forma un valle muy pronunciado. Los afluentes más importantes de este río son el Caraño, el Alén y el Asaar (también denominado Aboal) por su margen derecho; y los ríos Lougariños y Xabriña por su margen izquierdo. La altitud más importante se encuentra en la elevación denominada Coto de Eira.
El municipio tiene una población bastante diseminada en núcleos muy reducidos y distantes entre sí, siendo los núcleos más consolidados y concentrados, la Villa Capital municipal y Villasobroso, a 4 km al sur del municipio.