Castiglione se trouve à 710 mètres d’altitude et appartient à l’ancienne piève de Giovellina, en Haute-Corse. Il s’agit d’un territoire surmonté par de moyennes montagnes, situé au pied des Aiguilles de Rundinaia (1658 m). Au sud de cette commune se trouve la forêt communale de Castiglione, composée de chênes verts, de chênes pubescents et de pins laricio.
La commune est concernée par trois zones naturelles d'intérêt écologique faunistique et floristique (ZNIEFF) : Massif des aiguilles Rundinaia, commune de Castiglione, Crêtes et hauts versants asylvatiques du Monte Cinto et Grotte a Sapara. En outre, Castiglione fait partie du parc naturel régional de Corse.
Dans cette commune on trouve des grottes dont les caractéristiques sont uniques en Corse, A Sapara : ses galeries creusent les montagnes sur une distance d’environ cinquante kilomètres. À l’intérieur de ces grottes on peut trouver beaucoup de chauves-souris, dont certaines espèces endémiques en Corse sont protégées.
Au cœur du village se trouve l’église paroissiale Notre-Dame-du-Rosaire (XVIII° siècle) dont la voûte est séparée en différentes travées. En outre on peut visiter la chapelle San Nicolao, proche du cimetière du village, et la chapelle San Salvator, en style roman.
Castiglione est traversé par la route D118, qui est la seule permettant de rejoindre le village. Il se trouve à 47 km de Bastia et à 57 km de l’Île-Rousse.