四月一日,李世績和李道宗領兵聲東擊西,出人意料的出現在玄菟郡(漢郡名,今遼寧老城東)下。高麗人害怕的禁閉門戶,不敢出戰。四月十五日,他們來到蓋牟城(今遼寧營口蓋州市)下,以求打開海路的港口。十一天後攻破了城池,俘虜兩萬多人。五月二日,張亮從海路攻克了卑沙城(今丹東),隨後在鴨綠江上進行了閱兵。
歷史上,五月初八,四萬高麗步兵騎兵前往支援遼東城(今沈陽),李道宗率領四千騎兵在李世績的配合下,將其打散。但是作戰效果並不出色,僅斬首千余。
李志為了在這一戰練兵,在李世民的大部隊渡過遼河沼澤之前,就搶先強行軍,日夜兼程,終于在五月初七趕到了遼東城下,和李世績,李道宗會合,並且扎營休息。
李志的後勤大車還留在李世民的本隊中,他只帶領了四千士兵,三天口糧和約四十萬支箭。當晚,李志的斥候發現了高麗援軍的動靜,連夜就和李世績和李道宗召開了戰術會議。
李世績是當中年紀最大的,因此他首先說︰「諸位,雖然太子來援,但是我軍的數量仍然只有不到兩萬,而高麗的士兵則有四萬之多,這一仗要如何打呢?」
軍帳中當即有人說︰「現在敵眾我寡,應當固守待援。過幾天陛下的車馬援軍到來,我們便可以反擊。」
此時大軍已在遼東城外險要處駐扎好營地,堅守也不是難事。
李道宗則說︰「敵人仗著人多,肯定輕視我們,而且他們遠道而來十分疲憊,如果我們主動出擊,肯定會贏的。而且我們身為先鋒,理應為陛下掃除障礙。」
眾人認為很有道理。李世績認為李志尚且年幼,因此最後才問他︰「不知太子意下如何?太子軍隊剛到,還是休息呆在營中比較好,我們去打仗就可以。」
李志站起來回答︰「李將軍,族叔,我這次來,就是要打出我們大唐的威風。我帶來的健兒門,立志報效祖國,血染遼東也並不後悔。現在正是打仗的時候,誰讓我們呆在後面就是對我們的侮辱。因此我請命,讓我也為先鋒,沖在戰場第一線!」
李道宗本來是信心滿滿的表情,一听這話,趕忙說︰「不可!太子你可不能以身犯險,萬一有個三長兩短……」
李世績也說︰「太子,你那都是長弓手,沖在前面有什麼用啊!」
李志說︰「不如這樣,李世績將軍,我們為主力,你在我身後為我掩陣,如果前面頂不住了,我就後退到你的中軍。而且族叔會提前讓騎兵向他們沖擊,我不會有危險的。」
當下又詳談了很多細節。因為尉遲奪和李世績也是老同事了,當年王世充軍中,尉遲家便和李家是好友,因此尉遲奪拍著胸脯說太子的精兵,可是要讓你們大吃一驚的雲雲,這場戰役的布置才暫且確定下來。
五月八日,早上4點半。天剛蒙蒙亮,李世績和李志的步兵,便從營房出發,列隊檢兵之前,李志向七個長弓手隊(每隊500人),兩個禁衛隊的隊長布置好戰術要領,訓話以後,便排成三路長隊,從臨時營地出發。
遼東城是一座大城,離遼河不遠。援軍是從平壤開來的,駐扎在遼東以東八十里處。戰斗預計會在遼東以東的平原山區交界處發生。
早上七點四十分,軍隊行進到桃仙鎮,快馬報來在東南方四十里大柳裕村附近發現敵軍動向,約三萬前軍以五路人馬向遼東方向進發。
于是李世績和李志發令變陣。李志以五百重甲步卒為中軍,兩翼是以翼形陣(v字隊形)左右各三隊,最後一對弓箭手在重步卒的後方支援。排成左右寬三里的陣型,緩緩向敵軍方向進發。在他們的側翼和後方是李世績大股步兵約八千人和李道宗的四千騎兵。
早上九點,軍隊來到遼陽東南二十里處的小陳相村。此地為一片平整的土地,寬約十里。李志下令軍隊停止前進,稍事休息,吃干糧喝水,重整隊形。斥候來報敵軍已行至五里開外。
早上十點半,李志已經在視野中見到了對方的軍勢。高麗援軍前軍約三萬,排成三個軍陣,寬五里,他們徐徐前來,列好陣勢,離李志的前軍只有六百步(900米)的距離。
李道宗的騎兵正在從側翼列隊,各級將領已經下令卸下輜重,準備沖鋒了。
早上十一點,出乎高麗人的預料,面對數量多于自己的敵人,唐軍率先發起了沖鋒。
李道宗麾下果毅都尉馬文舉帶領自己屬下從本陣向前沖鋒,高麗人陣腳不穩,根本沒有組織好防線。馬文舉揮舞馬槊,所向披靡。高麗人的箭被親衛以刀劈落,而馬文舉的馬槊長五米,揮舞起來威猛絕倫,矛頭過處,不是斬首就是斷臂。高麗人驚恐失措,紛紛避開。隊形被撕開了一個大口子。
唐軍士氣頓時高漲,先前的擔憂都扔在了腦後,士兵都拿起武器,大吼︰「大唐必勝!大唐必勝!」
李志見軍心可用,命令部隊全體前進。高麗人見士氣受挫,便下令沖鋒,意圖挽回頹勢。
看到高麗軍隊發起沖鋒,李志立刻下令就地停止,長弓手預備。
接近到300步(450)的距離以後,李志下令收緊隊形,朝正前方以最大速度拋射五箭,然後轉為瞄準自由平射。
他手下的三千五百名長弓手雖然數量不多,但是都是熟練的射手。最大射速普遍在每分十發左右。
這不到半分鐘的時間,高麗不可能跑過這450米的距離。
事實也是如此,戰斗開始二十秒,快速的射手已經射完了5箭,開始瞄準沖鋒在最前面的高麗人進行射擊。
戰斗一開始,李志長弓隊的密集箭雨便吸引了所有人的目光,不管是敵人還是自己人。高麗人的沖鋒線並不均勻,中軍的戰線最為靠前,本來這樣是有突擊力的陣型。但是在李志v型列隊的情形下,箭頭處的士兵遭到了最密集的箭雨打擊。
第一波五次拋射,高麗人便丟下了超過八百具尸體。
戰斗開始第四十五秒,李志的三千五百名長弓手已經射出了約四萬支箭,高麗人沖鋒的隊伍被極大的削弱了。他們在近距離上遭到了更慘痛的打擊,又躺下了一千人。這一波攻擊他們付出了約兩千人的代價,才沖到李志的禁衛重甲步兵陣前。
所剩無幾的幾百人面對著五百凶悍步兵,還有身後射來的冷箭,一個回合,便被突刺解決掉八成。剩下的人見狀不妙,紛紛拔腿就跑,或者繞道李志的側翼。
戰斗開始到兩分半鐘多,高麗第一波攻擊結束,李志下令停止射擊,節約弓箭,全軍左移,給後衛的騎兵和李世績的步兵留出戰斗空間。
此時,李志的弓箭手每人約射出了二十多只箭,剛好用完了差不多一筒箭。而他們的備箭一共也只有一百二十只。
長弓手的覆蓋式箭雨給予了高麗人極大的心理打擊,他們第二波攻擊便向新頂上來的李世績部隊發起了沖擊。
此時,李道宗率部四百騎,繞道側翼向高麗軍隊發起了沖擊,寬5里多6里的戰場,頓時被攪的七零八落。
李志下令重甲步兵橫向收縮,以密集隊形重新列為寬二百五十米的陣線,朝高麗軍隊中心緩緩前移,而七隊長弓手全部躲在步兵身後,其中五隊朝前射擊,剩下兩對各防御側翼。
此時的射速約為每分三發。這幫弓手並沒有到百發百中的地步,但平均命中率也有二成到三成。
戰斗開始到十五分鐘,長弓手又射出了五萬只箭,高麗人中箭人數,則上升到了八千,當場掛掉的,足有三千之數。
此時李世績率領的主力已經全面展開,佔據了戰場六成的地區。而李志那一面的人,已經被屠殺殆盡。李道宗的騎兵,則在高麗大部隊中往返了三四次了!
高麗軍隊戰損率超過了四分之一,而且陣型被沖散,指揮崩潰,立刻就潰不成軍,紛紛敗退。
戰斗開始到三十分鐘。李道宗帶領騎兵開始追殺。李志下令就地修整,打掃戰場回收箭只。
他們在短短三十分鐘內一共射出了十二萬只箭!奠定了戰役的勝局!