公元621年3月,李世民带领3000名骑兵紧急驰援虎牢关,准备对抗窦建德。为了探查敌情,他决定亲自出关侦察。3月21日,李世民带领500名精锐骑兵出发,直奔窦建德的营地。
李世民选择出动500名精锐骑兵,显然不仅仅是为了简单侦查。果然,李世民在距离敌营几里远时突然停下。他告诉队伍,决定带四名随行骑士继续深入敌营,其余人则由李勣、程知节和秦叔宝各自带队埋伏。大家都不放心,纷纷劝他带更多人马。但李世民非常自信,拍了拍尉迟敬德的肩膀说:“我拿弓箭,你握长枪,我们不怕任何敌人,即使一百万人也不会威胁到我们。”于是,他和尉迟敬德带着五人小队,毫无畏惧地继续向前推进。
在距离敌军三里之处,李世民与夏军的巡逻兵相遇。对方原本以为只是几个来侦查的小兵,没怎么在意。但李世民显然不是来打招呼的,他大声喊道:“我是秦王!”然后,他毫不犹豫地射杀了敌军一名将领。夏军顿时慌乱,派出五六千骑兵追击,局势变得紧张。李世民的队伍有些慌乱,但他安慰大家:“你们继续走,我和敬德殿后。”
李世民和尉迟敬德开始缓慢退却,敌军紧追不舍。每当追兵接近,李世民便拉弓放箭,每一箭都命中目标,敌军被吓得不断停下来。李世民和尉迟敬德合力击退了二三十人,追兵终于停止了追击。李世民故意在原地徘徊,引诱敌人进入埋伏圈。埋伏已久的秦叔宝等人猛攻,成功击溃敌军。
回到虎牢后,李世民给窦建德写了一封信,警告他王世充即将灭亡,如果贸然出兵营救,只会加重自己的困境。李世民表示自己已经轻松击败了窦建德的前哨,希望他能及时悬崖勒马,否则未来必定后悔。
然而,窦建德并没有轻易退缩。10月30日,李世民派王君廓带领1000多名骑兵抢夺窦建德的粮草。窦建德这时开始陷入困境,粮草短缺,一时束手无策。就在他一筹莫展之际,谋士凌敬提出了一个大胆的策略:调动全军渡黄河,攻取怀州和河阳,翻越太行山直取上党,最后进入蒲津。这一策略被认为可行,既能避开敌人主力,又能扩展领土,甚至可能改变整个战争格局。
然而,窦建德没有听取建议。王世充的间谍不断挑拨离间,称凌敬只是书生,缺乏战争经验,窦建德听信了这些话,决定放弃这个战略。凌敬为此与窦建德争论了许久,最终被驱逐。
时光进入五月初,李世民率军渡黄河,并在黄河边留下了1000多匹战马,引诱窦建德追击。当窦建德集结大军准备进攻时,李世民迅速观察敌情,分析了战局。李世民发现,夏军军阵松散,士兵疲惫,于是决定静待时机。窦建德在此时进行了一次奇怪的安排,派出300骑兵试探性地进攻,但没有获得成果。李世民指示宇文士及率300骑兵绕到敌军西侧,伺机行动。
敌阵逐渐混乱,李世民下令全线出击。窦建德正在接受朝臣谒见,看到唐军骑兵突袭,群臣纷纷逃散,夏军骑兵无法集中防御。李世民趁机冲入敌阵,掩护唐军旗帜的士兵杀入敌阵后方。敌军看到唐军旗帜后,迅速崩溃,唐军一路追击,最终捉拿了窦建德。
这一战彻底打垮了窦建德,也为李世民的胜利奠定了基础。