石门乡地处威宁县西北部,距县城140公里。东与本县云贵、龙街两乡镇接壤,南与黑土河相依,西与昭通市昭阳区毗邻,北与彝良县的熊家沟和洛泽河为界。全乡总面积140.59平方公里,辖14个行政村,87个村民组。