The parish lies between the Pentland Hills to the north and the Moorfoot Hills to the south and includes the easternmost part of the Pentland Hills, around the estate of Pentland. The River North Esk flows into the parish from the south-west and, after forming the western boundary, then cuts through the centre of the parish, flowing north-easterly towards the village of Lasswade. At Lasswade the river forms the boundary on the north-east side, such that the suburb of Westmill on the south-east bank lies in the parish of Cockpen.