汉朝时,属牧靡县。
唐朝时,属长城郡(长州)羊林部。
宋朝时,属崧盟部。
元朝时,属嵩明万户府杨林千户所、嵩明州杨林县。
明、清朝时,属嵩明州金马里(治杨林)、效古里(治小街)。
民国时期,先后属嵩明县第二区(小街)、第六区(白龙桥)和白龙乡、嘉玲镇(治今小街)。
1950—1953年,属嵩明县小街、杨林2区。
1954年2月,设四营(治四营)、新街2乡(治小新街),分属杨林区、小街区。
1958年4月,撤区;同年9月,撤乡,四营、新街2乡合并为四营公社。
1959年1月,四营公社除小新街地区外,其余划入昆明市明良矿区(12月划回嵩明);同年2月,成立新街公社,管委会驻小新街。
1963年2月,撤销生产大队建制,缩小公社规模,实行区(镇)、社体制,四营、小新街2公社合并为四营区。
1966年7月,四营区划分为四营公社、小新街公社。
1984年,撤销公社体制,改为行区(镇)、乡体制,成立四营区、小新街区。
1987年12月,四营区、小新街区撤区建乡。
2006年3月,四营、小新街2乡合并为牛栏江镇。