Saint-Bonnet-les-Oules liegt etwa zwölf Kilometer nordnordwestlich von Saint-Étienne in der historischen Landschaft Forez. Umgeben wird Saint-Bonnet-les-Oules von den Nachbargemeinden Chambœuf im Norden, Aveizieux im Nordosten, Saint-Héand im Osten, La Fouillouse im Süden, Andrézieux-Bouthéon im Westen und Südwesten sowie Veauche im Nordwesten.