还在唐向东进攻之前,李渊即已调兵遣将,派遣说士到东方活动,并将李密旧部与以前反隋起义军(如王薄等)拉拢过来。尤为重要的是江淮地区的杜伏威也接受唐的封号,与唐合作,并于 621 年派兵助唐,这就是李唐集团在政治上取得的一个极大胜利。这个胜利又使唐在战略形势上取得极有利的地位。窦建德的北方是罗艺盘踞的幽州,罗艺早已降唐,西方的山西是唐的领地,窦建德与王世充已经受唐的两面包围,而杜伏威与唐合作,唐对窦建德、王世充的包围形势便已形成。
620 年 7 月,唐稳定西北局势之后,即由李世民统帅大军进攻王世充,王世充自知不敌,向窦建德求救,为了维持夏政权在河北、山东的统治,为向西部作进一步发展,窦建德对李唐进攻王世充决不会坐视不救,在 621 年 3 月击败孟海公后,便亲率十万大军援助王世充。
唐遣李世民前去虎牢,据险御敌,阻止窦建德西进,然后伺机而战,将窦建德打垮。这计运用的结果,窦建德为虎牢之险所阻,不能西进,陷于进退维谷之境。5 月间,唐军伪装粮草完尽,引诱窦建德军前来决战,窦建德中计,全军出动,自板渚出牛口布阵,北距大河,西薄汜水,南达鹊山,长达二十里。李世民立于高处看窦建德的阵势,曾说窦军“风险而嚣,是无纪律,逼城而阵,有轻我心”,即不难看出唐军的动态。