王王玄恕守含嘉（洛阳城北）、鲁王王道徇守曜仪（洛阳宫城北），王世充亲自率军作战。李世民征慈涧（今河南新安县东三十里），王世充退守洛阳，唐军蚕食洛阳附近的城镇，切断郑军的粮线，驻军于洛阳北邙，进逼洛阳。唐军势大，河南五十余州相继归降，王世充遣人向夏王窦建德求救，中书侍郎刘彬劝建德出兵，建德意识到郑一旦被破，夏也难保，答应出兵，遣使与王世充修好。
交战虎牢.武德四年（621年）三月，唐军包围洛阳，挖沟筑垒困守，洛阳城内民生惨重。窦建德率10余万大军西进，相继攻下周桥（今山东曹县附近