牛棚镇,隶属于贵州省毕节市威宁彝族回族苗族自治县,地处威宁彝族回族苗族自治县西北部,东与迤那镇毗邻,南与云南省会泽县隔牛栏江相望,西与玉龙乡相连,北与中水镇、云南省昭通市昭阳区布嘎乡接壤。总面积177.89平方千米。
1953年,置乡。1958年,改管理区。1961年,并入白碗乡。1963年,白碗乡分出改公社。1984年7月,改乡。1985年1月,改镇,属原牛棚区。1992年,白碗、红岩、雨朵并入牛棚镇。截至2018年末,牛棚镇户籍人口为49990人。截至2020年6月,牛棚镇辖6个社区、14个村,镇人民政府驻鱼塘村。
2010年,牛棚镇农民人均收入3586元。2018年,牛棚镇有工业企业2个,有营业面积超过50平方米以上的综合商店或超市231个。