秦通道云南即在楊林設(shè)置驛站。當(dāng)時因東門有石狀如羊,故名“羊林”。西漢元封二年(公元前109)屬益州郡昆澤縣,治所在今楊林,轄羊林、束甸、太池(今宜良)。唐貞觀二十三年(649)屬南詔國長州(嵩明)。宋代大理國時期屬崧盟部。元憲宗六年(1256),置羊林千戶所、屬嵩盟萬戶府。未幾,改設(shè)羊林縣,屬嵩盟州。至元二年(1265),因地處羊林海岸,楊柳成林,故改羊林為楊林。明成化十七年(1481),裁楊林縣,設(shè)楊林所。清康熙年間,裁所,設(shè)金馬里。民國3年(1914)嵩明州改為嵩明縣,楊林改為鎮(zhèn),今楊林鎮(zhèn)所轄南槽子一帶設(shè)置民權(quán)鄉(xiāng)。之后一度屬嵩明縣第五區(qū)。1950年7月設(shè)楊林區(qū),轄海潮、新鳳、馬營、龍保、五叢、大樹營、烏西、對龍8個鄉(xiāng)。1955年劃出烏西、對龍歸昆明市官渡區(qū)。1958年建立楊林公社,曾一度劃歸昆明市明良礦區(qū)管轄。1962年4月,楊林公社分成楊林、大樹、龍保三個小公社,1963年合并成立楊林區(qū),下轄1鎮(zhèn)(楊林)和13個小公社。1966年7月撤區(qū),成立楊林和新村公社。1971年2月楊林和新村公社合并為楊林公社,轄14個生產(chǎn)大隊(duì)。1984年2月,撤公社成立楊林區(qū),所轄生產(chǎn)大隊(duì)改為1鎮(zhèn)(楊林)12個鄉(xiāng)。1988年1月改楊林區(qū)為楊林鎮(zhèn)(中國政區(qū)大典:1989年置鎮(zhèn)),下設(shè)14個辦事處。1997年,面積162.7平方千米,人口5.7萬,轄楊林、張官營、老城、馬坊、東山、羅良、大樹營、老余屯、核桃、落水、官渡、新村、官莊、龍保14個行政村。