Montastruc est situé dans un paysage de plaines et de coteaux. C'est sur une boucle de la rivière, non loin du lieu où l'Aveyron termine sa course en se jetant dans le Tarn, que le village s'est
composé, au fil du temps, de bâtisses isolées et de hameaux, entre l'Aveyron et les collines du Pays de Serres.