渝川の下流は渤海に達し、上流は柳城北部に達する。そのため、迂回しての攻撃は双方危険が大きく不可能に近い。
二日ほど睨み合いが続き、互いの総大将から攻撃を開始せよと催促がくる。
張遼は張汎の指揮する歩兵部隊に弓での遠距離攻撃をするよう命じた。
張汎は射程圏に入るなり、弓隊を並べて雨のような矢を楼班隊に降らせる。
楼班隊は応戦したくとも、装備が射程の短い短弓であるため、逃げ惑い、矢を避けるしかなかった。
楼班はやむを得ず陣を後退させ、射程圏から逃れ、追撃のために渡河してきた張遼隊を討つ戦法に切り替えた。
だが、そんな単純な策に張遼が引っかかるはずもなく、陣を川縁まで前進させるだけで、河を渡ることはなかった。
業を煮やした楼班は、集中攻撃を避けるため各王に兵を与え、渡河地を三ヶ所に分散しての攻撃を開始した。
張遼はそれに応じ、弓隊を分け、上流下流両方の渡河地点の敵を攻撃させ、自らは中央の渡河地点を受け持った。
兵を分散させての迎撃を見て楼班がほくそ笑む。
「敵の中軍が手薄になったぞ。集中攻撃し突破せい」
楼班の合図に、烏丸兵が次々と渡河していく。
張遼はそれを確認するや、一目散に兵を退いた。
「我らに恐れをなしたか!」
調子に乗り、速度を緩めることなく追撃を開始する。隊形も何もあったものではなく、渡りきった者から次々と馬を飛ばしていく。
「これだから蛮族と蔑まれるのだ」
張遼は殿を務め、近寄ってくる烏丸兵を斬り捨てていく。
「我らだけでも余裕だな。史渙殿に伏兵を頼むまでもなかったか」
あまりにも連携も無く、個々で追ってくる様相に呆れ果てた。
それでも部隊としての約束事は守るべく、張遼は史渙の伏せている場所まで烏丸兵を誘導していった。
「史渙将軍、張遼殿の部隊が見えました」
「敵勢は?」
「追走してきてますが、隊伍が乱れております」
「ならば、本隊が来るまで見過ごせ。我らは敵将を急襲する」
史渙は部下に指示を出し、息を潜める。
張遼もそれを読み取り、あたかも苦戦しているように装った。
殿に敵将がいるという報告は、功績を得て信玄を見返したい楼班らを駆り立てた。
「あれは確かに張遼だ」
楼班の視界には、追撃する烏丸兵に苦戦している張遼が見えた。
「行くぞ!ここで我らが加勢すれば、張遼なぞ恐るるに足らん」
楼班は自ら突進しながら部下に指示を与えた。
「今だ!かかれ!」
敵将目掛けてひた走る楼班らの横合いから史渙の隊が出現し、横腹に突っ込んでいく。
「伏兵だぁ!」
烏丸兵が気づいた時にはすでに退路は史渙隊により断たれていた。
張遼もさっきまでの苦戦が嘘のように、烏丸兵をなぎ倒していく。
敵の罠にようやく気づいた楼班と速附丸は、退却を命じるでもなく、馬を捨て、他の雑兵の中に紛れ逃走した。
残された烏丸兵は、主が逃げたことにも気づかず、降伏もせず、一兵残らず戦い、果てた。
他の渡河地点に向かった烏延と蘇僕延も、渡河中を斉射され、散々に討ち破られ、命からがらに逃げ出す始末であった。