统一中原和江南
唐武德二年(公元619年),郑王王世充废隋皇泰主,在洛阳称郑帝,成为中原最大的割据势力。李渊在巩固关中后,于武德三年(公元620年)七月派秦王李世民率军10万攻王世充。同时派太子李建成、唐俭等保障其侧翼安全。李世民鉴于洛阳城坚,王世充兵强,在攻克慈涧(今洛阳西)后,即分兵阻断其南北救援道路,自率主力屯于北邙(芒,今洛阳北)包围洛阳。同时派兵攻占洛阳外围要地,河南各郡县纷纷降唐。王世充几次突围,均被唐军击回。王世充派人向窦建德求救。时,窦建德已在河北称夏王,他怕郑亡夏更加孤立,难以对抗唐军,遂亲率10万大军救援洛阳,结果被李世民阻于虎牢前进不得。[8]
武德四年(公元621年),李世民、李元吉出兵洛阳,讨伐在洛阳称郑帝的王世充。经过多次战争,唐军扫清了洛阳的外围据点,包围了洛阳。王世充危在旦夕。此时河北的夏王窦建德率兵十万来援助。李世民率兵三千,抢占了虎牢关,趁夏军疲惫时发起猛攻,将夏军击败,俘获窦建德。王世充见大势已去,开城投降。窦建德部将刘黑闼再次起兵失败,后引突原兵返回河北,一度恢复了失地,但不久兵败被杀。这时,唐王朝控制了黄河流域,取得了河南、河北的统治权。
同年,唐朝赵郡王李孝恭、庐江郡王李瑗、将军李靖等率兵进攻割据江陵、巴蜀、湖南一带的梁帝萧铣。在李靖的指挥下,唐军很快攻灭梁国,擒获萧铣。
盘踞江陵的梁帝萧铣,拥兵40万,是南方最大的割据势力。但其心胸狭窄,多疑,滥杀功臣,深怕部将恃功不能控制,借口营农把兵员解散还乡,只留宿卫数千人,将士离心离德。武德四年(公元621年),李渊乘机派李孝恭、李靖利用长江水涨,率军进攻江陵。唐军顺江而下,大败萧铣勇将文士弘于清江,直逼江陵。萧铣大惧,临时征兵又来不及,急命宿卫军出战,结果大败而回。无奈,只得出降。
接着,唐军又击败在庭州(今江西赣州西南)称楚帝的农民领袖林士弘,使唐占据了长江中游及岭南地。江淮农民起义军首领杜伏威、辅公拓先后降唐。后辅公拓又图再起,在丹阳(今南京)自称宋帝。李渊派军讨伐,在博望山、青林山大败宋军,直扑丹阳。辅公拓弃城东走武康(今浙江德清西),后被俘杀。至此,唐朝除朔方梁师都依靠突厥势力未平外,基本统一全国。