La commune de Castelnau-de-Mandailles s'étend sur 35,87 km2. Elle est bordée au sud sur douze kilomètres par le Lot, en grande partie dans la retenue du barrage de Castelnau-Lassouts, et au nord-ouest par son affluent la Boralde de Saint-Chély-d'Aubracsur huit kilomètres. La commune est arrosée par un autre affluent du Lot, le ruisseau des Mousseaux.

L'altitude minimale, 360 mètres, se trouve à l'ouest, là où le Lot quitte la commune et entre sur celle de Saint-Côme-d'Olt, au nord-ouest du lieu-dit le Bouquet d'Olt. L'altitude maximale avec 949 mètres est localisée à l'extrême nord-est, en limite de la commune de Saint-Chély-d'Aubrac, à l'est du lieu-dit Foyt.

Entouré par les communes de Prades-d'Aubrac, Saint-Chély-d'Aubrac et Lassouts, Castelnau-de-Mandailles est situé à 6 km au nord-est de Saint-Côme-d'Olt la plus grande ville aux alentours.

Situé à 532 mètres d'altitude, la Rivière Le Lot, le Ruisseau de la Bessière, le Ruisseau du Serre sont les principaux cours d'eau qui traversent la commune de Castelnau-de-Mandailles.

La commune est proche du parc naturel régional des Grands Causses.

La commune de Castelnau-de-Mandailles fait partie de la Communauté de communes Des Causses à l'Aubrac.

Desservie par la route départementale (RD) 557, le bourg de Castelnau-de-Mandailles est situé, en distances orthodromiques, dix kilomètres à l'est nord-est d'Espalion et dix-sept kilomètres au sud-sud-est de Laguiole. Trois kilomètres au sud, le bourg de Mandailles est desservi par la RD 141.

Le sentier de grande randonnée GR 65, la via Podiensis des chemin du pèlerinage de Saint-Jacques-de-Compostelle, traverse le territoire communal sur environ huit kilomètres, du nord-est à l'ouest.