街亭之战中,马谡违反诸葛亮战前部署,被魏军趁机而入,致使街亭失守。诸葛亮得知街亭失守后,急忙调集军队,准备撤回汉中。诸葛亮分派仅剩的5000兵马去西城搬运粮草,这时得报司马懿统领15万大军已兵临城下。此时运粮士兵仅2000余人,城中兵马不足3000,众人听到大兵压境,无不大惊失色。诸葛亮深知,此时若弃城逃跑,无疑会暴露实情,在15万大军面前,必然无法逃脱。于是,他神情自若地传令军士:“将城中所有战旗尽数放倒,所有兵士坚守城池,凡有擅自出入和大声喧哗者,一律斩首!”又命令将四方城门大开,每一城门处派20军士扮作百姓,洒水扫街,装作若无其事的样子。一切安排就绪后,诸葛亮头带方巾,身披鹤氅,带两名小童,持琴登城。诸葛亮边弹琴边饮酒,一付安然悠闲的神态。
魏军先锋部队见状,不知虚实,急忙策马回报司马懿。司马懿听报随后来到城下,远远见到城上诸葛亮悠闲自得边饮边弹,两位小童站立身后,琴声悠悠不绝于耳。再看四处城门大开,每一城门处都有一二十名百姓,在细心地洒水扫路,对魏军视而不见。见状,司马懿心中大疑。他对诸葛亮有很深的了解,认为素来谨慎行事的诸葛亮,从不弄险,今天见他如此安然,城中秩序井然,15万大军压城犹如不见,其中必有埋伏。司马懿越想越怕,急忙传令撤兵。司马懿之子司马昭是员虎将,见要退兵,急忙劝阻司马懿说:“诸葛亮手中可能无兵,必是在疑惑我们,不如让我带兵攻城,即可知虚实。”司马懿不准,15万魏军全部退却。诸葛亮见魏军远去,遂拍掌大笑,结果尽在意料之中。城中兵士见千钧一发之险,顷刻间化作乌有,不由得惊喜交加。诸葛亮含笑对余悸未尽的兵士们说:“司马懿素来知我谨慎,不曾轻易弄险,而今见我稳坐城头,安然饮酒抚琴,城门大开,百姓自若不慌,想必我定有奇兵伏于城中,所以不战而退了。此疑兵之计,是万不得已才用的,倘若随便用此计,一旦被敌人识破,必遭大败。”在众人的赞叹声过后,诸葛亮接着说:“司马懿急切中退兵,必然选择小路,可速去通告关兴、张苞二位将军设伏。”
不出所料,司马懿正率军沿小路向北退却,行至武功山时,忽听得山后鼓炮齐鸣,杀声震天,只见冲出一队人马,将旗上写着张苞。司马懿以为这是诸葛亮早已埋伏好的蜀军,急令魏军不许恋战,拼死冲杀,以求生路。刚刚冲出不远,又是一声号炮,只见一队蜀军从左路向魏军冲来,一看将旗是关兴的兵马。司马懿大惊,更加确信这一切都是诸葛亮预先的计谋,一时间不知蜀军到底有多少兵马。魏军已成惊弓之鸟,丝毫不敢停留,丢掉粮草辎重,沿此路向山后溃逃。
司马懿哪里知道,蜀军的两路兵马总数不过5000,在此设伏,只是虚张声势,并未实战。这是诸葛亮利用司马懿疑心过重的心理,以几千蜀军,兵不血刃地吓退了司马懿的15万大军。