漢朝時,屬牧靡縣。
唐朝時,屬長城郡(長州)羊林部。
宋朝時,屬崧盟部。
元朝時,屬嵩明萬戶府楊林千戶所、嵩明州楊林縣。
明、清朝時,屬嵩明州金馬里(治楊林)、效古里(治小街)。
民國時期,先后屬嵩明縣第二區(小街)、第六區(白龍橋)和白龍鄉、嘉玲鎮(治今小街)。
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鄉合并為牛欄江鎮。