Castrop-Rauxel is between Dortmund to the east, Bochum (south), Herne (west), and to the north, Recklinghausen, Datteln and Waltrop.
The city is divided into 15 districts, listed in order from north to south: Becklem, Henrichenburg, Ickern, Habinghorst, Pöppinghausen, Deininghausen, Rauxel, Bladenhorst, Behringhausen, Castrop, Dingen, Schwerin, Obercastrop, Frohlinde and Merklinde.