魏国君主拓跋嗣又派一万多众从白沙渡过黄河,驻扎在濮阳南边,然后前往东郡、陈留;孙淑建率三万骑兵进逼东阳城,城中文武官员只有一千五百人;青州刺史竺夔、济南太守垣苗竭力固守,时常派兵攻击魏军,击破营阵,魏国步骑兵就绕城列阵十多里,大规模制造攻城器具;竺夔派人挖了四道壕沟,魏军填平了三道,又制作撞车来攻城。竺夔就派人从地道中出去,用粗麻绳将撞车拉翻折断,魏军又进行大包围,发起更加猛烈的进攻,时间一久,城墙崩塌,因此战士死伤很多,剩余的兵士又困又乏,城池早晚都会落陷。镇北将军檀道济到达彭城,认为司州和青州形势都很紧急,但自己统领的兵士不多,不能够分兵赴援,青州路近,竺夔的兵力弱,于是就和王仲德昼夜兼行先救青州。拓跋嗣就带兵北渡黄河西去河内,魏国娥清、周几、闾大肥攻掠土地,先后到达湖陆、高平,民众就聚集在屯堡中用箭射击魏军,到娥清等人把高平等县全部攻破后,于是残杀了数千家,掳走一万多人;衮州刺史郑顺之驻守湖陆,因为兵少而不能抵抗。拓跋嗣又派遣并州刺史伊楼拔协助奚斤进攻虎牢,毛德祖随机抵抗,斩杀魏兵很多人,而他自己的将士也逐渐减少。拓跋嗣抵达成皋,于是断绝了从虎牢去黄河汲水的通道,又停留了三天,亲自督军攻城,还是攻打不下,于是就往洛阳去观看《石经》,又派遣使者去嵩山祭祀。刁雍在邺城晋见拓跋嗣,拓跋嗣说:“孙淑建等人进入青州,百姓都逃避,攻城又攻不下,;他向来佩服你的威信,现在派你去帮助他。”
魏国孙淑建攻打东阳,攻塌东阳北面城墙三十多步宽,刁雍请求迅速攻进城去,孙淑建不允许,结果没能攻克;等到听说檀道济等人将到,刁雍又对孙淑建说:“敌寇害怕我方突击的骑兵,用锁链接车辆做成方阵;大岘山以南道路狭隘,车辆不能并行,我请求率领五千兵士占据险要阻击宋军,一定能够打败他们。”
当时天气炎热,魏国兵士很多染上了疫病,孙淑建说:“兵士染上疫病的过了半数,如果仍然相持不休,士兵必会死光,何必再战。现在保全军队返回,才是上策。”
檀道济驻军在临朐,孙淑建等烧毁营帐和器械领兵逃遁,而檀道济到达东阳城,粮食用完了不能追击,又因东阳城墙崩坏不能再守,于是移兵严守不出城池。孙淑建从东阳向滑台进军,檀道济就分派王仲德进军尹卯;檀道济驻军在湖陆,而王仲德还未到尹卯,听说魏军已经走远,就返回来与檀道济会合,刁雍于是留守尹卯城,招集谯、梁、彭城、沛县等郡的百姓五千多家,设置二十七座营寨指挥他们防守。孙淑建从滑台西进,与奚斤会合一同去攻打虎牢,虎牢被围困有二百天,没有一天不交战,守城的精兵几乎全部战死,而魏国军队增兵渐多;魏军攻毁虎牢的外城,毛德祖在内城又筑起三层城墙来抵抗魏军,魏军又攻毁了两层城墙,毛德祖只是守着最后的一道城墙,日夜抵抗着;将士们的眼睛都生了疮,毛德祖就以仁义安抚将士,因此他们始终都没有叛离之心。当时檀道济驻军在湖陆,刘粹驻军在项城,沈叔狸驻军在高桥,都害怕魏军强大不敢前进,于是魏军挖地道用来泄露虎牢城中的井水,井深有四十丈,而山势险峻,守军无法防护井水,城中的人马又渴又累;受伤的人都流血不止,又加上饥饿和疫病,而魏军仍然猛攻虎牢,虎牢城终于失陷;将士们打算扶毛德祖突围,毛德祖说:“我发誓与此城一起毁灭,大义所在,我决不会让城亡而身存!”
拓跋嗣就命令将士们说:“碰上毛德祖,一定要活捉他。”
魏国将军代郡人豆代田于是捉住毛德祖献给了拓跋嗣,宋国军队在城中的将领,也都被魏军俘虏,只有参军范道基率领二百人突围回到了南方。于是奚斤等人将司州、衮州、豫州各郡县全部平定,都设置郡守县宰来安抚百姓;拓跋嗣任命周几镇守河南,河南的民众从此安定了。拓跋嗣回宫后,又召奚斤返回平城,派兵去守虎牢,派遣娥清、周几去镇守枋头,又以司马楚之率领的民户设置汝南、南阳、南顿、新蔡四个郡,用以扩充豫州地盘。