Die alte Siedlung im Süden der Region Gallura liegt an der Küste des Tyrrhenischen Meeres zwischen Olbia und Siniscola. Ursprünglich ein Bauern- und Viehzüchterdorf hat sich San Teodoro in den letzten Jahren durch den Tourismus beträchtlich ausgedehnt. In der Nähe liegt der lange, La Cinta genannte Strand, der das Meer vom Binnengewässer bei S. Teodoro trennt. Hier hat sich das Ökosystem einer Lagune erhalten, eine Heimat für zahlreiche Fisch- und Vogelarten.