Saint-Martin-sur-Ocre liegt etwa 60 Kilometer ostsüdöstlich von Orléans an der Loire. Umgeben wird Saint-Martin-sur-Ocre von den Nachbargemeinden Gien im Norden und Nordwesten, Saint-Brisson-sur-Loire im Osten und Südosten, Autry-le-Châtel im Süden und Südwesten sowie Poilly-lez-Gien im Westen.