当夜,月色微明,张合引军悄然下山。至张飞寨前,果然无备,遥见大帐中烛火通明,飞正独饮。张合大喜,纵兵入寨,张合一骑当先,直入中军,见飞稳坐不动,张合催马撞进大帐,一枪刺倒张飞,竟是草人。合大惊,勒马急回,忽火把四起,一将状似铁塔,手横蛇矛拦住去路,炸须喝曰:“哪里去?燕人在此!”张合举枪上迎,杀在一处,合急盼左右援军,却迟迟不到。原来,二寨人马中了埋伏,被魏延、雷铜杀败,二将乘势夺了两寨。张合苦战夺路而走,方欲回寨,忽见山上火光大起,宕渠寨又被魏延、雷铜拿下。张合引残兵奔走瓦口关。
张合退守瓦口关,三万军兵折了两万,乃差人向曹洪求救。洪大怒曰:“他不听我言,强要进兵,如今失了要隘,还敢来求救!”遂不发兵,且使人催合出战。张合心慌,遂分两军山前埋伏,自引一军迎敌。路遇雷铜,战不数合,张合诈败,雷铜追赶。忽喊声大起,伏兵齐出,断了雷铜后路,张合回马,一枪刺死雷铜。败兵回报张飞,飞引军来战,合又诈败,飞却不赶。张合回马再杀几合,又诈败而走,飞收兵回寨。
张飞与魏延商议曰:“张合用埋伏计杀了雷铜,又欲诈我,何不将计就计?”延问何计。张飞曰:“明日,我引一军追敌,你引精兵于后,待其伏兵杀出,纵军击之。彼若退入山谷,用车辆柴草,塞住谷口,放火烧之,我乘机擒拿张合,为雷铜报仇!”次日交锋,合又诈败,张飞引兵追之。张合且战且走,引飞过了谷口回马再战,指望伏兵自后杀出,夹攻张飞。不料,伏兵早被魏延赶入谷中,放火焚烧,大火漫山,无处逃窜,兵损殆尽。张合大败,奔上瓦口关,坚守不出。
张飞连日攻打瓦口关不下,乃退军二十里,与魏延引数十骑亲探路径。忽见男女数人,各背小包,于山僻处,攀藤扶葛而行。飞大喜,以鞭指曰:“取瓦口关之法,在此数人身上矣。”遂命人请至马前。张飞善言慰问。百姓告曰:“我等皆汉中居民,今欲还乡,听闻大兵厮杀,闭塞官道,今过苍溪,经桧釿川而往汉中。”飞曰:“此小路可至瓦口关否?”百姓曰:“可抵关后。”张飞大喜,带百姓回寨,赐与赏钱酒肉。遂令魏延兵扣关前,飞使百姓引路,选轻骑五百,自小路进发。