周瑜一军于乐陵休整已毕,命邢道荣率军三万守北海,凌操率军三万守乐陵,起军十五万攻打南皮。
时张辽南皮守兵尚有九万,见周瑜来攻,与程昱相商。程昱曰:“今我军连败,周瑜多谋,还是固守为上。”张辽曰:“今周瑜势大,只守不攻恐南皮不保,当以计胜之,以退其军。然周瑜用兵向来谨慎,其战法步步为营,无甚破绽,甚难敌之。”程昱曰:“今乐陵防守空虚,可出兵袭之,逼周瑜回军。”
张辽再无良策,命程昱、王睿、杨修率军四万守城,与李典率军五万,夜袭乐陵。乐陵守将凌操为凌统之父,追随金旋已久,颇有谋略,胆识过人。
入夜,张辽使军士攀入东北城墙,入城兵力不多,为守军发现。凌操闻警,命副将带四位偏将巡视四门,每门留下一名偏将指挥防守。又遣人速报周瑜。自率亲兵赴城东北。凌操到时,守军正与曹军于城头相战,凌操见曹兵不断上来,率领亲兵阻住城墙两端,调强驽兵射之,曹军素惧强驽,城上兵皆欲下城,张辽于城下喝止,命城下兵递以铁盾。凌操又调两队长枪兵,分两侧挤压曹兵,城墙狭窄无容脚处,城上曹兵渐乱,凌操又调强驽兵射城下曹军,张辽部兵士死伤甚众。张辽见城中有备,凌操为知兵宿将,偷袭无效,强攻不能速下,率军退回。
周瑜接到凌操急报,命赵云率军五万救援乐陵,行至半途,遭遇张辽部,双方发生激战。周瑜判断此时南皮防守空虚,率领大军夜间攻城,王睿、程昱、杨修皆到城头御敌。周瑜见程昱防御有法,兵分两路,命领程普、马岱率军五万猛攻西门,与蒋钦率军五万绕至东门。
时南皮城中守军较少,程普攻城兵力众多,程昱命令其余三门守军分兵来助,周瑜见东门守军分兵赴西门,与蒋钦统兵猛然攻打。东门守军多被调去西门,不久以后不支,周瑜部攻下东门,南皮城中大乱。程昱见势难挽回,整败兵打开南门逃往易京。
周瑜夺得南皮,让程普、马岱率军五万支援赵云部。程普、马岱统兵来到两军交战之处,时已天明,两军激战方休,各自折兵万余,战场之上血流成渠,尸横遍野。赵云见援兵来到,复引兵杀上。张辽部与赵云部激战半夜,人疲马乏,为程普、马岱生力军一冲,军阵顿时溃败。张辽部大败,又折兵万余,大将李典为赵云所杀,张辽引败军逃往南皮。将到南皮,逢败军告知南皮失守,张辽慌忙引军绕城退往易京。
张辽到达易京,计点兵将只余六万,遣人往司马懿处告急。周瑜入城安民毕,命程普率军三万守城,引兵十一万杀往易京。张辽一面整顿易京防务,一面让杨修急赴北平、襄平,让两郡从速召集壮丁,粗训成军防守两郡,使两郡守将耿纪、杨彪各率郡中守兵一万赴易京救急。
陆逊部攻下濮阳,复引军攻打界桥。夏侯渊、夏侯霸聚得濮阳败军五万,会合守将夏侯恩、贾充部一万士兵,兵力共六万。陆逊留杨秋率军三万守濮阳,与太史慈、陈泰、诸葛诞、张合等将率军十七万攻打界桥。