唐武德九年(626),境域以界涇河為界,東屬常熟縣,西屬江陰縣。
宋、元、明(960~1644)時,東屬常熟縣南沙鄉,西屬江陰縣白鹿鄉、崇仁鄉。
清康熙三年(1664),設楊舍鎮。
1912年,東屬常熟縣新莊鄉,西屬江陰縣楊舍、章卿、馬嘶鄉。
1934年,東屬常熟縣第四區(塘橋區)、第七區(西港區),西屬江陰縣第三區、第四區。
常熟、江陰兩縣后又多次調整區劃設置。
1949年4月,東屬常熟縣塘橋區、沙洲區,西屬江陰縣澄東區、后塍區。
1952年10月,江陰縣劃楊舍鎮為直屬鎮。
1957年9月,境內東部合并為乘航、東萊2鄉,西部合并為楊舍、塘市、晨陽、泗港4鄉,楊舍鎮仍為縣直屬鎮。
1958年9月,撤鄉建社,成立楊舍、塘市、晨陽、泗港、乘航、東萊6個人民公社,楊舍鎮并入楊舍人民公社。
10月,東萊人民公社與錦豐、合興、三興、樂余、兆豐、南豐人民公社合并為沙洲人民公社。
1959年1月,析沙洲人民公社置東、西沙洲2個人民公社,東萊屬西沙洲人民公社。
同年4月,撤銷西沙洲人民公社,復置東萊人民公社。
1962年1月,建沙洲縣,楊舍隨屬。
同年3月,復置楊舍鎮,為縣直屬鎮。
1983年,撤社建鄉,設楊舍、塘市、晨陽、泗港、乘航、東萊6鄉。
1986年9月,屬張家港市;11月,泗港鄉改鎮;12月,楊舍鄉并入楊舍鎮。
1992年1月,乘航鄉改鎮;12月,塘市、晨陽鄉改鎮。
1993年12月,東萊鄉改鎮。
2000年7月,泗港、塘市、乘航3鎮撤銷,并入楊舍鎮。
2003年3月,東萊鎮撤銷,東萊居委會和慶東等14個村并入楊舍鎮。
同年8月,晨陽鎮撤銷,晨陽居委會和晨南等7個村并入楊舍鎮。