El municipio limita al norte con el municipio de Mértola, al este con Sanlúcar de Guadiana en Andalucía, al sureste con Castro Marim, al suroeste con Tavira y al oeste con Loulé y Almodôvar.