Il comune si trova sulla costa occidentale della Sardegna, nella sub-regione dell’Iglesiente. Il paese, caratterizzato da casette disposte a ventaglio, si trova sullo scenografico sbocco a mare di un’impervia valle, il canale Malfidano, che ha dato il nome alla più importante miniera della zona. Nel litorale del comune, che si affaccia sul Mar di Sardegna, sono presenti diverse località con cale e spiagge.
Comuni costieri confinanti : Iglesias ⟵ Buggerru ⟶ Fluminimaggiore