1950年屬杉山等鄉,1956年合并置杉山鄉,1958年屬婁底公社,1961年分置杉山公社和恩口公社,1968年合并為杉山公社,1984年復改鄉,1986年建鎮。
2015年11月23日湖南省民政廳辦公室印發《湖南省民政廳關于同意婁底市婁星區鄉鎮區劃調整方案的批復》(湘民行發〔2015〕65號),同意小碧鄉與杉山鎮成建制合并設立杉山鎮。
新設立的杉山鎮轄19個建制村和恩口社區,總面積66.38平方千米,總人口4.39萬人,鎮人民政府駐石垣(原杉山鎮政府駐地)。