明清兩代屬本縣永豐里二甲。
清光緒二十四年(1898年),屬重義鄉(xiāng)。
民國三年(1914年),劃歸吳堡縣北區(qū)重義鄉(xiāng)。
民國二十二年(1933年)至民國二十五年(1936年)春,屬大周家墕聯(lián)保,轄7保,27個自然村。
民國二十九年(1940年)3月,吳堡縣民主政權建立,屬第六區(qū)。
民國三十一年(1942年),并入岔上區(qū)。
民國三十四年(1945年),屬第四區(qū)(岔上鎮(zhèn)),設曉寺子鄉(xiāng)和寬洪坪鄉(xiāng)。
1958年11月,并入綏德縣,設有上高家莊公社,下轄2個生產(chǎn)管理區(qū)。
1961年8月,恢復吳堡縣,成立張家山公社。
1984年夏,改設為張家山鄉(xiāng),轄24個行政村。
2011年7月,改設為張家山鎮(zhèn)。