漢寧太守張魯命馬超攻葭萌關(guān)。劉備得知,忙找軍師諸葛亮商義,軍師說:"馬超英勇無(wú)比,若要除他,只有張飛和趙云二人!"但趙云在外,只有張飛在此。張飛見馬超攻關(guān),大叫著請(qǐng)戰(zhàn)。諸葛亮假裝沒聽見,對(duì)劉備說:"馬超來(lái)侵犯,唯有云長(zhǎng)才能得勝。"張飛聞言不高興,歷述自己以前的戰(zhàn)績(jī)后說:"我若不勝馬超,甘愿軍令處罰。"諸葛亮這才答應(yīng)。讓劉備親自帶兵,命張飛為先鋒。劉備領(lǐng)兵來(lái)到關(guān)上,馬超三番五次叫陣。張飛屢欲下關(guān)迎戰(zhàn),均被劉備阻攔。后來(lái),劉備見馬超人馬疲乏,令張飛下關(guān)克敵。張飛、馬超大戰(zhàn)一百回合,不分勝敗。這時(shí)天色已晚,劉備勸張飛回關(guān),明日再戰(zhàn)。張飛卻大叫:"多點(diǎn)火把,安排夜戰(zhàn),不勝馬超,誓不回關(guān)!"馬超也發(fā)誓:"不勝?gòu)堬w,誓不回寨!"二人各換一匹馬,開始了挑燈夜戰(zhàn)。又戰(zhàn)二十回合,馬超見不能取勝?gòu)堬w,佯裝敗走。此時(shí),諸葛亮趕到,略施小計(jì),使馬超陷于困境,然后投降。