Saint-Didier-la-Forêt est une commune de la Limagne bourbonnaise, entre Saint-Pourçain-sur-Sioule et Vichy.
Depuis le redécoupage des cantons du département entré en vigueur à la suite des élections départementales de mars 2015, la commune fait partie du canton de Bellerive-sur-Allier. Elle dépendait jusqu'alors du canton d'Escurolles
À vol d'oiseau, elle se situe à 12,3 km au nord-ouest de Vichy, à 10,9 km au nord-est d'Escurolles et à 13 km au nord-nord-ouest de Bellerive-sur-Allier.
Cinq communes sont limitrophes de Saint-Didier-la-Forêt dont Bayet, Loriges, Marcenat, Broùt-Vernet et Saint-Remi-en-Rollat.
Elle est traversée par l'Agasse et l'Andelot.