当晋军先头部队在潼关附近死中求生,与后秦军反复缠斗之时,刘裕率领的水军从彭城出发,沿着泗水北上,然后折入清河,一直向西。途中,他路过张良庙,下令整修庙宇,与此同时,他还命令冠军将军、吴兴太守向靖率军在泗水拐弯处离开大军北上,驻军黄河渡口碻磝城。
碻磝城,是古黄河在青兖地区的一个非常重要的据点,起到屏护青州的作用。据南宋王应麟的《河南四镇考》记载,北魏时期,碻磝与滑台、金墉、虎牢相并列,被称为“河南四镇”。刘裕命令向靖驻守此地,就是为了防止北魏军趁晋军大举西进之时东出青州,威胁徐州。随着战事的推移,向靖随后向西移屯石门、柏谷坞,始终充当屏护大军后方安全的重任,他的职务也被晋升为北青州刺史、都督北青州诸军事。此时,东晋帝国同时并存三个青州政府∶南青州,治所广陵;青州,治所广固;北青州,治所碻磝。
在进军途中,刘裕还提前给北魏明元帝拓跋嗣奉上借道的恳求信。拓跋嗣接到了刘裕的书信后,即召开高级别会议商讨对策。北魏群臣均认为,潼关天险,一夫当关,万夫莫开,刘裕以水军、步兵前去进攻,十分困难。假设我军对其背后发起攻击,晋军想回去都难。而晋军如果以水军渡过黄河,向北进攻我国,则非常容易。因此,群臣判断,刘裕对外宣称是去讨伐后秦国,但其真实意图却不一定。况且,后秦国和我国是婚姻之国,不能不救。不可放纵了敌人,应当发兵切断黄河上游,阻止晋军西进。拓跋嗣又将外朝的意见拿到内朝商议,结果与外朝一致。
拓跋嗣将要听从,博士祭酒崔浩却表示反对。
崔浩的论断主要是∶刘裕此次出兵的目的不是北魏,而是后秦,不可代人受敌;一旦与晋军交恶,势必陷于南北交战的不利局面;借道刘裕,刘裕将会对我感激;晋军不可能与我争夺黄河以北的地区。
其实,崔浩所言均是似是而非之论。刘裕北伐的第一个目标固然是后秦,但刘裕的最终目的并非后秦一国,刘裕采取的是各个击破的办法。当时的后秦已经四面楚歌,没有北魏的全力援救,势难独存,后秦灭亡以后,北魏国也将面临东晋的打击。
不过,当心无定见的拓跋嗣将崔浩的意见再次交付群臣讨论时,北魏群臣一致认为,刘裕假如真的西入函谷关,晋军将进退两难,腹背受敌,这再明显不过了,而刘裕渡河北上,后秦军队肯定无力帮助北魏国。由此推断,刘裕谎称西进,其实是为了北上进攻北魏国,这是形势的必然。
于是,明元帝拓跋嗣拒绝晋军借道,命令司徒、相州刺史长孙嵩持节,都督山东诸军事,前往平原(山东平原),沿着黄河北岸构筑堡垒,驻军畔城,与驻守此地的晋北青州刺史向靖相持。同时,明元帝还命令振威将军娥青、冀州刺史阿薄干率领十万步骑驻扎在黄河北岸,以防备刘裕大军。
此时,在潼关城下的晋军前锋部队开始断粮,王镇恶等将心急如焚,派出快马向刘裕告急。刘裕将使者喊到船上,他推开船舱的北面窗户,指着北岸的魏军,对使者说∶“我给你们传话说不可轻率前进,你们不听我言,如今,北岸是如此情形,我怎能给你们派去部队”
不论与北魏军是战是和,此时的刘裕均不能分散兵力,也无法派军西上给王镇恶等人送去粮食。他在考虑如何对付面前棘手的北魏军,好在北魏军暂时没有渡河南下的意图,这说明,北魏尚无主动与晋军决战的决心。基于上述考虑,晋军最佳的应对办法就是继续西上,不主动进攻魏军,但一旦分散兵力,也许会开启北魏军的野心。
王镇恶等不到刘裕大军支援,为了解决粮荒,他亲自来到弘农(河南灵宝),动员当地百姓向晋军捐献粮食。当地百姓深受感动,纷纷捐献,晋军的粮食问题暂时得到了解决。
义熙十三年(公元417年)三月八日,刘裕的舰队从清河进入黄河,北魏军数千骑兵在黄河北岸随着晋军舰队一起西行。由于黄河波涛汹涌,晋军又是逆水而上,每条战舰都由士兵们在南岸上用一百多丈长的缰绳牵引着前进。遇到水流湍急之处,或者天上突然刮起大风,牵引战舰的缰绳会突然折断,战舰失去引力,往往漂到对岸,战舰上的晋军士兵就会被北魏军斩杀或者俘虏。
针对北魏军的挑衅行为,刘裕决定让他们尝尝厉害。可是,派出的晋军刚刚登上北岸,北魏军就飞快退去,跑得无影无踪,而晋军一上船,北魏军又卷土重来,反复多次。北魏军如此嚣张,激怒了晋宁朔将军胡藩,他率领十二名亲随乘坐小船,径直划向北岸,北魏军五六百骑兵见此情形,都相视哈哈大笑。胡藩素来善射,这十三名勇士登上北岸以后,胡藩即张弓搭箭,一连射杀了十几名北魏骑兵,剩余北魏军均仓皇而退。
四月,东晋太尉刘裕命令白直队主丁旿率领七百名猛士,带着一百辆战车,来到黄河北岸,在距离河水一百多步的地方,构筑一个新月阵形,阵形的两端伸向河岸。每辆战车上有七名猛士,部署完毕以后,刘裕下令却月阵中竖起一杆白色羽毛大旗。
刚开始的时候,北魏军看到数百晋军拉着战车上岸,都不明白晋军到底要干什么,因此没有立即发起攻击。却月阵构筑完毕以后,刘裕看到阵中白色羽毛大旗竖立了起来,只见他一声令下,宁朔将军朱超石率领两千多人飞也似的进入阵地,他们携带了一百多张机械大弩,每辆战车上也随之增加了二十人,瞬间就在车上竖起了“防御彭排”(大盾)。
北魏军看到晋军瞬间建立起了滩头阵地,赶忙发起进攻。朱超石下令先用弱弓小箭射击,北魏军见此情形,以为晋军兵少、武器装备不行,就从四面八方向新月阵地扑来。与此同时,北魏司徒长孙嵩也率领三万骑兵从平原赶到,攻击晋军阵营。
当北魏军接近晋军营垒时,晋军突然拿出连发的机械大弩,射杀了大量敌人,但终因敌人人数太多,那一百张大弩无法压制住蜂拥而上的敌人。朱超石的军中提前预备有大铁锤和一千多条丈八蛇矛,他下令将丈八蛇矛全部切割成三四尺长的短棒,然后用铁锤将其砸成锋利的刀片,安装在机械大弩上,发出去,能洞穿三四个人的胸脯。这样一来,晋军终于打退了北魏军的进攻,并阵斩了阿薄干,北魏军退守畔城。朱超石又率领胡簪、刘荣祖①等将乘胜追击,却被北魏军重包围,晋军人数不足五千,并且都是新入伍的战士,在众将的激励下,晋军浴血奋战,整整苦战了一天,斩杀上千敌人,北魏军这才退去。
晋军凭借着“却月阵”以区区二千余人竟然击败了数万北魏军,一战打出了晋军的威名,猛将朱超石、胡藩等人之名也让北魏军闻风丧胆。稍后,刘裕又派遣振武将军徐猗之率领五千人进攻越骑城,北魏军骑兵包围了徐猗之部,朱超石领兵增援,北魏军听说朱超石前来,不战而逃。
胜利以后,刘裕设宴犒赏三军,他对刘荣祖说∶“爱卿以少击众,在你的进攻面前不存在坚城,古之名将,也比不过你啊!”当即晋升其为太尉中兵参军,加建威将军。
北魏主拓跋嗣听到前方的败报,这才后悔没有听从崔浩之言。于是,他下诏不再与晋军纠缠,允许晋军借道西去。