建武司马申元吉领兵赶赴碻磝。七月乙亥日,北魏济州刺史王买德弃城逃走。萧斌派遣将军崔猛攻打乐安,北魏青州刺史张淮之也弃城逃走。萧斌和沈庆之留守碻磝,派王玄谟进军包围滑台。雍州刺史随王刘诞派遣中兵参军柳元景、振威将军尹显祖、奋武将军曾方平、建武将军薛安都、略阳太守庞法起领兵从弘农出兵。后军外兵参军庞季明,七十多岁了,自认为是关中的豪门大族,请求进入长安招募汉族和少数民族百姓,刘诞同意了;庞季明于是从赀谷进入卢氏县,卢氏县百姓赵难接纳了他。庞季明随后劝说当地士人百姓,响应他的人很多,薛安都等人趁机从熊耳山出兵;柳元景领兵随后跟进。豫州刺史南平王刘铄派遣中兵参军胡盛之从汝南出兵,梁坦从上蔡出兵,向长社进军。北魏荆州刺史鲁爽镇守长社,弃城逃走。鲁爽是鲁轨的儿子。幢主王阳儿攻打北魏豫州刺史仆兰,击败了他,仆兰逃奔虎牢;刘铄又派遣安蛮司马刘康祖领兵援助梁坦,逼近虎牢。
北魏大臣起初听说南朝宋出兵,对北魏皇帝说,请派兵救援黄河沿岸储存粮食和丝绸的据点。皇帝说:“现在马匹还没养肥,天气还热,仓促出兵一定不会成功。如果宋军不断进军,我们就暂时退回阴山躲避。我们本就穿着羊皮裤,哪里用得上丝绸!等到十月,我就没有忧虑了。”
九月辛卯日,北魏皇帝领兵南下救援滑台,命令太子拓跋晃驻守漠南防备柔然,吴王拓跋余驻守平城。九月庚子日,北魏征调各州郡五万士兵,分配给各路军队。
王玄谟的军队人数众多,武器精良整齐;但王玄谟贪婪固执,喜好杀戮。起初包围滑台时,城中有很多茅屋,士兵们请求用火箭焚烧茅屋。王玄谟说:“那些都是我的财产,怎么能仓促烧掉!” 城中守军随即拆了茅屋,挖地穴居住。当时黄河、洛阳一带的百姓争相捐献粮食、拿起武器前来投奔,每天有上千人,王玄谟不任命他们的首领,反而把他们分配给自己的亲信;还向百姓每家收取一匹布,却要求缴纳八百个大梨;从此百姓大失所望。攻打滑台几个月都没攻克,听说北魏救兵将至,士兵们请求用战车结成营垒,王玄谟不听。
冬季十月癸亥日,北魏皇帝抵达枋头,派关内侯代郡人陆真在夜里和几个人突破宋军包围,潜入滑台,安抚城中守军,还登上城墙观察王玄谟军营的布局,返回后向皇帝报告。十月乙丑日,北魏皇帝渡过黄河,军队号称百万,战鼓之声震动天地;王玄谟害怕了,率军撤退。北魏军队追击,宋军死亡一万多人,王玄谟的部下几乎逃散殆尽,丢弃的军用物资和武器堆积如山。
在此之前,王玄谟派遣钟离太守垣护之率领一百艘战船作为前锋,占据石济,石济在滑台西南一百二十里处。垣护之听说北魏军队将至,派人快马送信劝说王玄谟加紧攻城,说:“从前武帝攻打广固时,死伤很多。何况现在形势比当年更紧迫,怎么能顾虑士兵伤亡疲劳!希望以攻克滑台为首要任务。” 王玄谟不听。等到王玄谟败退,来不及通知垣护之。北魏军队用缴获的王玄谟的战船,用三重铁锁连接起来,阻断黄河,断绝垣护之的退路。黄河水流湍急,垣护之率军从河中间顺流而下。每当遇到铁锁,就用长柄斧头砍断,北魏军队无法阻拦;只损失了一艘战船,其余战船都完好无损地返回。
萧斌派遣沈庆之率领五千人救援王玄谟,沈庆之说:“王玄谟的士兵疲惫不堪,敌人已经逼近,需要几万人才能进军。派少量军队轻率前往,没有用处。” 萧斌坚持要他去。恰逢王玄谟逃回,萧斌准备杀他,沈庆之坚决劝谏说:“北魏皇帝(小名佛狸)威震天下,率领百万大军,哪里是王玄谟能抵挡的!况且杀死战将只会削弱自己,不是好计策。” 萧斌才作罢。
萧斌想坚守碻磝,沈庆之说:“如今青州、冀州兵力薄弱,如果我们坐守这座孤城,要是敌人向东进军,清河东岸就不再是国家的领土了。碻磝孤立无援,会变成第二个没修好的滑台。” 恰逢朝廷使者到达,不允许萧斌等人撤军。萧斌又召集将领们商议,大家都认为应该留守。沈庆之说:“军事事务,将军有权自主决定。诏书从远方传来,不了解当前的形势。您有一个范增那样的人才却不用,空泛议论有什么用!” 萧斌和在座的人都笑着说:“沈公竟然还懂学问!” 沈庆之厉声说:“你们虽然知道古今之事,却不如我靠经验得来的见识!” 萧斌于是派王玄谟驻守碻磝,申坦、垣护之驻守清口,自己率领各路军队返回历城。
闰十月,庞法起等各路军队进入卢氏县,斩杀县令李封,任命赵难为卢氏县令,让他率领部众充当向导。柳元景从百丈崖领兵与各路军队在卢氏会合。庞法起等人进攻弘农,闰十月辛未日,攻克弘农,擒获北魏