北宋景祐二年(1035年),置子午镇。
明嘉靖二十五年(1546年),正式设集,属华林乡子午里。
清雍正年间(1723—1735年),改为子午廒。
清嘉庆元年(1796年),在子午镇设长安县南承府衙门,嘉庆《长安县志》载子午廒辖子午、古城、大邵、递午、甫店、曹村、夏官、陈村、新村、内苑、花园、乔村、杨家庄、葛村等19个村与子午峪、豹林峪等3个峪口。
中华民国元年(1912年)后,先后设立过子午廒、区、镇和联保机构。
1949年,改为子午区下辖子午等乡。
1950年,设子午市。
1953年,复改为子午乡。
1958年,子午区改为子午秦岭公社。
1961年,子午公社分设为子午、王庄、黄良、内苑4公社。
1966年后,改名胜利公社。
1972年,恢复原名。
1984年,建为镇。
2002年,与王庄乡合并。
2003年5月,撤销子午镇,设立子午街道。