Castelpetroso is a comune located in the Province of Isernia within the Molise region of Italy. It is situated approximately 25 kilometres west of Campobasso and about 10 kilometres southeast of Isernia.
As of December 31, 2004, the municipality covered an area of 22.6 square kilometres and had a recorded population of 1,708 residents.