如今洛阳城内只有五六万人。之前征集了八万大军,得知函谷关被蜀军拿下后,派出了2万人,让司马师带领在函谷关东边30里处,建设了一座新的关隘。关隘连夜建设,在马超到达之前终于建好了。
司马师跟随父亲司马懿在军中多年,熟读兵书战策,对行军打仗并不陌生。到了山谷中,考察地形,设置了这座关隘,并把大军安排在关隘两侧山中,一方面防止蜀军从山中绕过关隘,一方面在蜀军进攻时可以袭击。
马超和马岱带领大军兵出函谷关后,走出不到三十里,就听探马说前面有埋伏,建设了一座新的关隘。且马超打算一举拿下洛阳的想法算是破灭了。
马超到了司马师的新关隘前。还没来得及攻城,就被两侧的曹军杀得大败。损失2000多人。马超心疼的不行,这可是关平给他的一万顶三万的大军。就这么死了2000多人。太可惜了。大军后撤回函谷关,休息一夜,第二日从函谷关选拔了8千步兵,换上重骑兵的连弩和抛矛又携带了3000重骑兵,继续向东行进。这次派了步兵在两侧山中行进,打击曹军的埋伏军。
来到离关隘10里时又遇到了埋伏,不过这次步兵用连弩对曹军进行打击。曹军抵挡不住,纷纷撤退到关隘中和关隘两侧山中。形成了一条防守线。司马师见马超大军装备优良,于是在关隘东侧又让大军修建了两座瓮城,相当于三座关隘了。马超大军十分无奈,半夜里派士兵到城下安放地雷,准备炸毁关隘,怎奈司马师每天让士兵在城楼上防守,并火把彻夜不灭。蜀军根本到不了墙下。往城下扔了几个地雷,也没造成太大损害。如此反复多日,也没能前进一步。
马超返回函谷关,让士兵组装井阑和投石车。用了两天时间,组装了20多架,然后率大军来到司马师的城下,先用投石车和井阑攻打了一番。这次的效果还不错,把城上士兵们都打跑了,马超派士兵到城下安放地雷。一声巨响,第一座关隘被炸毁了。马超派大军进攻,刚到关内,就被前面的第二道关隘上的曹军一顿猛射。死伤无数。想把关隘清理开,把井阑和投石车搬进关内继续攻打,发现这两座关隘离得太近,不到30米