魏永昌王拓跋仁率骑兵8万,自洛阳南进,连克宋悬瓠、项城(今河南沈丘),直趋寿阳。宋文帝恐镇守寿阳的豫州剌史刘铄被围,遂急令已向虎牢的安蛮司马刘康祖返回寿阳。康祖得令后火速回师,在寿阳北数十里处,被拓跋仁的8万大军追及。康祖军仅有8000之众,军副胡盛之建议傍山依险,从小路返回寿阳。康祖大怒,说:“寇今自送,不复远劳王师,犬羊虽多,实易摧灭。吾兵精器练,去寿阳裁数十里,援军寻至,亦何患乎”。遂命将士结车营沿大道向寿阳进发。魏军仗恃人多,四面夹攻宋军,康祖率军奋战一天一夜,杀敌万余人。魏军又分为3批,轮番进攻,并以马匹运草火烧宋军车营,康祖激励将士,拼死决战,终因寡不敌众,全军覆没。康祖身被10创,中流矢坠马而死。北魏拓跋仁军围攻寿阳,并分兵袭扰宋马头、钟离等地。宋刘铄命将士烧掉寿阳四周庐舍,凭坚城固守。
十一月底,魏军各部进抵淮水一线。太武帝见彭城、寿阳等坚城急攻难下,遂决定置宋孤城不顾,渡淮南进,兵锋直指长江。
十二月初一日,北魏诸军渡淮南进:高凉王拓跋那出山阳(今江苏淮安)、永昌王拓跋仁出横江(今安徽和县东南)、中书郎鲁秀出广陵(今江苏扬州),太武帝自率大军直趋瓜步(今江苏南京六合东南瓜埠)。魏军未带军粮,沿途本以抄掠为食。渡淮后得知宋盱眙(今属江苏)城有储粮,便猛攻盱眙。盱眙太守沈璞与辅国将军臧质奋力抵抗,魏军攻城不下,便绕城而过,继续南进。魏军沿路烧杀抢掠,刘宋许多城邑守将望风奔逃。十二月十五日,太武帝军抵达瓜步,与建康隔江而对。
魏军到达长江北岸后,大拆民房,割苇造筏,声言渡江。建康震动,宋廷上下一片恐慌。宋文帝命令建康内外戒严,悉发丹阳(治建康)地区丁壮为兵,王公以下子弟皆从役。领军将军刘遵考等将兵分守建康津要,派水军沿江巡逻,“上接于湖,下至蔡州,陈舰列营,周亘江畔,自采石至于暨阳,六七百里,船舰盖江,旗甲星烛”。文帝又命太子刘劭总统水军,出镇石头城(今南京城西),丹阳尹徐湛之守石头仓城,吏部尚书江湛兼领军,总统军事。文帝悬重赏购太武帝君臣首级,斩太武帝首级者,封八千户开国县公,赏布绢各万匹,金银各百斤。又募人将毒酒置江北空村中,欲以毒死魏军将士。