黎阳之战

背景

董卓讨伐战失败后经过数年的内战，在众诸侯中形成了两大派系：一派以控制冀、青、并、幽四州的袁绍为首；一派以袁绍原先的朋友和下属曹操为首，不但控制了兖、豫、徐三州，还掌握了朝廷，控制了汉献帝。两派在200年的官渡之战中交锋，曹操大胜。袁绍虽败，重整军队，趁其战败而反叛者也迅速被镇压。202年6月，袁绍因兵败而忧愤病亡，将基业留给了儿子们。
袁绍身后有三子：长子袁谭，次子袁熙，幼子袁尚。按惯例应由长子继业，袁绍却偏爱貌美的袁尚，曾安排袁谭出继自己的哥哥即袁谭的伯父袁基。因袁绍从未正式确立继承人，他死后，具体继承法仍然不确，其阵营分为两派。袁绍的谋士中，辛评和郭图支持袁谭，逄纪和审配力挺袁尚。尽管通常认为袁谭将继承父业，支持袁尚的人担心职位被袁谭重新安排，伪造遗嘱，宣布袁尚继业。心怀不满的袁谭率本部离开经黄河前往黎阳（今河南省浚县西北）前线对抗曹操。袁尚派逄纪率小股军马援助（或刺探）袁谭，但当袁谭要求进一步增援时拒绝了。袁谭怒杀逄纪。
曹操在官渡获胜后曾转移对袁氏的注意，但在202年春又返回官渡前线。谋士荀彧曾提醒他不要忽视新败的敌军，以防其残部重建袭后。袁绍死后四个月，曹操率军渡黄河，攻其残部于黎阳。

战役

曹操渡河时，留李典和程昱负责补给。补给要走水路，但袁尚部下魏郡太守高蕃屯兵河上，断绝了补给线。曹操起初提出改从陆路运输，但李典指出高蕃军缺少战甲，对水战无备，曹操遂允许李典和程昱攻击高蕃。这次攻击成功了，水路补给线得以畅通。
曹操渡河后的事，史料记载有分歧。《三国志·魏书·武帝纪》称，曹操渡河后六个月赢得后续战争，将袁氏兄弟逐出黎阳，但突然解除对袁氏大本营邺城的包围，还军许昌。但《三国志·魏书六·董二袁刘传》、《后汉书·袁绍传》和同时代的其他参考文献如《后出师表》等都与曹魏方面的记载相冲突，称其实此战耗时很久，即不可能如《武帝纪》所说一帆风顺。故更可能是曹魏方面隐去了曹操在此地区战败的记录。综上，得出可能的战况如下。
因军力不及曹操，袁谭自度难以守住黎阳，派人求援。袁尚留审配守邺城，亲率援军救黎阳。两军在黎阳西、南郊交战，交战当时防御工事的遗迹在唐朝仍然存在。203年三月，袁氏兄弟从城中杀出，但曹操人多势众，将他们逼回城墙内。袁军大将严敬被乐进斩杀。趁曹操未及围攻黎阳，袁氏兄弟趁夜撤到黎阳以北一百四十里的邺城。
次月，曹操沿袁氏撤退路线追到邺城。但他消耗过度，被袁尚在城外反攻击退。此次受挫使曹操将注意力重新从袁氏大本营转移开，他东进猛攻阴安（在今河南省清丰县），收集魏郡南部谷仓的谷物。五月，曹操做好准备再攻邺城。谋士郭嘉却反对，建议利用袁氏兄弟正在滋长的矛盾：“袁绍爱这两个儿子，却未立继承人。有郭图、逄纪做他们的谋臣，肯定互相争斗，互相离间。急攻他们就会相持，缓攻他们，以后他们将生相争之心。不如向南去荆州，装作征伐刘表，等候他们生变；等生变了再攻击他们，可以一举而定。”
曹操接受建议回师，留贾信守黎阳的滩头堡，将不能守住的阴安留给敌军。阳平等地被袁尚部将吕旷、吕翔所占。
当曹操撤军渡过黄河时，袁谭要求袁尚提供新的军备和更多军队以半渡截击曹操。袁尚怀疑哥哥的真实企图，都没答应。袁谭谋士郭图和辛评火上浇油，称是审配唆使袁绍将袁谭出继袁基的。袁谭愤怒，回军攻袁尚、审配于邺城。袁谭战败，奔南皮。同时，曹操顺利返回许昌。

后果

曹操尽管初期取得了一些胜利，也遭遇过挫折，战斗九个月，仅能在黎阳留下一座滩头堡。此后三个月他一直待在许昌，可能是为了稳固自己的权位和防备可能因他一直在外引发的混乱。此间，他两次发布公告，处罚和贬谪不称职的将领，认为军阶和赏赐不应给配不上的人。
如郭嘉所料，来自袁氏兄弟的威胁自己瓦解了。袁氏兄弟内战，袁尚占了上风。袁谭被逐出南皮，投平原，被围，求助于曹操。荆州牧刘表为袁绍旧友，让著名文人王粲给袁谭、袁尚分别写信，敦促他们抵抗共同的敌人曹操，不要内斗。给袁谭的信为袁氏兄弟在邺城战胜强敌而致贺，并严厉反对袁谭依附曹操。但刘表的忠告被袁氏兄弟所无视。
当袁谭的使者辛毗来见曹操时，曹操正和刘表在双方边境交战。辛毗已对主公失望，建议曹操趁袁尚、袁谭尚未和好、合兵之机将他俩同时击溃。此前荀彧已提过类似建议。曹操采纳了，装作与袁谭结盟。204年，曹操从黎阳发起进攻，大败来自邺城的袁尚军，为袁谭解围，袁尚投袁熙。同年，曹操以袁谭心怀不轨取消联盟，围攻南皮。袁谭阵亡。袁氏对华北的掌控就此崩溃，虽然他们仍在坚持直至207年彻底溃灭。