除了普通百姓之外,将领也受到牵制。出征之前,王世充会将他们的家眷接入宫中,名为“照看”,实为“监禁”。而因为局势的紧张,王世充在那段时间尤为敏感,许多人因此而失去性命。
暴行之下,郑国内部虽然摄于威力,不敢明着反抗,但是反抗的氛围却越来越浓。而因为连年的征战,洛阳城内物资缺乏,别说老百姓,就连当官的都有被饿死的。据《旧唐书》记载,当时王世充治下已然是"囚者相次,不减万口,既艰食,馁死者日数十人。世充屯兵不散,仓粟日尽,城中人相食……人皆体肿而脚弱,枕倚于道路。其尚书郎卢君业、郭子高等皆死于沟壑。"也就是说王世充的尚书郎卢君业、郭子高等人都饿死在山沟里。
事情发展到这个地步,洛阳城内充盈着绝望的气息。所以等到李世民率军攻打之后,王世充的军队不仅毫无战意,而且各地的守将都纷纷选择了投降李唐。
七月,张公瑾降;八月,邓州降;九月,田瓒以所部25州降,时德睿以所部7州降;十月,大将张镇周降,郭庆以管州降,魏陆以荥阳降,王要汉以汴州降。
短短三个月的时间,李世民可以说不费吹灰之力的拿下了洛阳城周围的郡县,使得洛阳城成为一座孤城。孤城难守,无以为援,战败已经是迟早的事情。王世充绝望之下,选择了求援窦建德。
虽然两人道不同,但是在面对李唐的强势,还是选择了结盟。窦建德接到王世充的求助信,率军援助洛阳。而窦建德一出手,就用了错误的计谋。
当时不管是窦建德的部下,还是她的妻子都劝说窦建德使用“围魏救赵”的计谋。不要直接去进攻洛阳,而是应该转而攻打李唐重镇,逼迫李世民回师救援,以此解洛阳之围。
窦建德没有听从,直接率军与李世民对上,中了李世民“围点打援”之计,被李世民打败,最后被俘虏,押解进京斩杀。
说实话当时的李唐占据天时地利人和,不管是人心还是己方实力,已经有了一统天下的基础。王世充和窦建德不仅失去人心,还走了步错棋,面对李世民自然只剩下了输的份儿。