孙祖镇建国初期始称孟良崮公社。
1928年,境域属沂水县依汶区(后称五区)。
1939年10月,沂南县设孙祖乡。
1941年6月,改称孙祖区。
1958年2月,增设孟良崮乡(驻地代庄);10月,分设孙祖、孟良崮二个人民公社。
1963年5月,设孙祖区。
1968年,改称孙祖公社。
1983年5月,撤销公社设孙祖区。
1985年9月,撤区设孙祖乡。
1996年12月,撤乡设孙祖镇。
2001年,代庄乡并入。
镇名沿用至今。