在进军途中,刘裕还提前给北魏明元帝拓跋嗣奉上借道的恳求信。拓跋嗣接到了刘裕的书信以后,即召开高级别会议商讨对策。北魏群臣均认为:“潼关天险,一夫当关万夫莫开,刘裕以水军步兵前去进攻,将十分困难。假设我军对其背后发起攻击,晋军想回去都难。如果晋军以水军渡过黄河,向北进攻我国,则非常容易。因此,我们判断,刘裕对外宣称是去讨伐秦国,但其真实意思却不一定。况且,秦国和我国是婚姻之国,不能不救啊。不可放纵了敌人,应当发兵切断黄河上游,阻止晋军西进。”拓跋嗣又将外朝的意见拿到内朝商议,结果与外朝一致。拓跋嗣将要听从,此时担任博士祭酒的崔浩却表示反对。我们知道,崔浩是崔宏的长子,字伯渊,崔浩博学多才,深通易经、洪范五行,而拓跋嗣又喜欢占卜术数之学,因此,对崔浩非常信任,而崔浩的占卜也十分灵验。一次,拓跋嗣在后宫发现了一只兔子,遍询众人均不知兔子是从何处而来,于是就让崔浩推算吉凶,崔浩认为,这是邻国将要送上嫔妃的兆头,不久,后秦姚兴果然将西平公主嫁给了拓跋嗣;后秦姚兴去世前一年,太史令上奏火星突然不见了,有人说这预示着国家将有大的灾难。而崔浩却说:“根据《春秋左氏传》的记载,‘神降于莘,其至之日,各以其物祭也。’推算火星不见的日子,在庚午日的晚上,辛未日的早晨,而庚与未,都是指秦地,辛也指西夷。如今姚兴占据咸阳,火星进入秦国了。”大家听了,都一脸愤怒反对道:“天上星星不见了,你却说下到了地上,这简直是胡说八道。”崔浩但笑不语,不久,果然火星出现在东井星域(古人对应为秦地),后秦赤地千里,第二年姚兴病死,于是,大家这才叹服。此时,崔浩对拓跋嗣说道:“阻止晋军西进,这不是上策啊。司马休之等人骚扰晋国边地,刘裕切齿痛恨很久了。如今,刘裕趁着姚兴刚死,姚兴诸子无能,发军讨伐,臣观察他的目的就是入关灭秦。刘裕乃强硬暴躁之人,不会顾及后患。现在我们假设阻止晋军西进,刘裕肯定会率军上岸入侵我国,如此以来,姚泓就太平无事了,我们反而受到攻击,这是代人受敌。如今柔然不断南下骚扰,国内百姓饥馑,不可出兵。如果与晋国交恶,那么,我发兵南下,则柔然就会进攻我北方,如果救援北方,则我太行山以东之地就危险了。不如答应刘裕,让晋军西进,然后,发兵堵住晋军东归之路,这就是所谓的‘卞庄刺虎,两得之势’。假设刘裕取胜,肯定会对我借道之举心存感激;假设后秦胜利,我国也因为阻塞了晋军后退之路,而不会丧失救援亲邻的好名声。退一步讲,即使刘裕得到了关中,与江东距离遥远,很难固守,关中终当是我们的。如今,不用使用军队,而坐观秦晋双方的成败,这是上策。为了国家的利益决定国策的取舍,岂能顾及婚姻而答谢秦国送来一个女子的恩惠呢?即使我国愿意抛弃恒山以南的地区,刘裕也不可能发动江南之兵,与我们争夺黄河以北的,这非常明显。”崔浩的论断主要有五:一是刘裕此次出兵的目的不是北魏,而是后秦;二是不可代人受敌;三是一旦与晋军交恶,势必陷于南北交战的不利局面;四是借道刘裕,刘裕将会对我感激;五是吴越之军不可能与我争夺黄河以北。其实,崔浩所言均是似是而非之论,他判断刘裕此次北伐,目的是后秦,是基于后秦庇护司马休之等人,这当然是刘裕伐秦的原因之一,但并非全部;刘裕北伐的第一个目标固然是后秦,但此次北伐刘裕的最终目的也并非后秦一国,在后来灭亡后秦以后,刘裕也曾想驻军关中,经营赵魏(山西、河北一带),也就是说,刘裕采取的是各个击破的办法。不可代人受敌之说同样如此,当时的后秦已经四面楚歌,没有北魏的全力援救,势难独存,后秦灭亡以后,同为异族的拓跋魏国,还将面临东晋的打击。其三,南北两线作战的危局。刘裕北伐并未、也不可能与柔然协同,不过,假如双方发生持续时间较长的战斗,这一情况就有可能出现。第四,关于给晋军借道,刘裕会感激借道之惠。崔浩的原话是:“假设刘裕取胜,肯定会对我借道之举心存感激;假设后秦胜利,我国也因为阻塞了晋军后退之路,而不会丧失救援亲邻的好名声。”这句话是崔浩为了论证自己前面的正确性的,但这句话本身就不全面,只说出问题的一方面,而有意无意地遗漏了问题的另一方面,只说假如刘裕取胜,感激借道,但没有说刘裕对其后魏军又阻塞晋军的退路的态度,只说假设后秦胜利,因北魏阻塞了晋军退路而感激,却没有说前此魏国给刘裕借道会如何。同样的,这句话如果只说问题的另一方面,将会是这样的:“假设刘裕取胜,肯定会对我阻塞其退路,怀恨在心;假设后秦胜利,我国也因为给晋军借道,而落下坏名声。”最后一点,崔浩称吴越之军不可能与魏军争夺黄河以北,这更是似是而非之论,全无根据。那么,为何聪明的崔浩要这样说呢?不少学者经过研究认为,身为汉族的崔浩从内心深处并不愿在异族朝廷为官,他是在存心帮助刘裕,吕思勉先生就持有这一观点。
不过,当心无定见的拓跋嗣将崔浩的意见再次交付群臣讨论的时候,北魏群臣一致认为:“刘裕假如真的西入函谷关,晋军将进退两难,腹背受敌,这再明显不过了,而刘裕渡河北上,后秦军队肯定无力帮助我国。由此推断,刘裕谎称西进,而其实是为了北上进攻我国,这是形势的必然。”于是,明元帝拓跋嗣拒绝晋军借道,下诏命令司徒、相州刺史长孙嵩持节,都督山东(太行山以东)诸军事,前往平原(山东省平原县境),沿着黄河北岸构筑堡垒,驻军畔城(山东省聊城县附近),与驻守此地的晋北青州刺史向靖相持。同时,明元帝还命令振威将军娥青、冀州刺史阿薄干率领十万步骑驻扎在黄河北岸,以防备刘裕大军。《宋书·朱超石传》称,冀州刺史是北魏安平公乙旃眷(即叔孙建),阿薄干是青州刺史。
魏国已经明确拒绝了刘裕的请求,刘裕将如何应对?此时,在潼关城下的晋军前锋部队开始断粮,王镇恶等将心急如焚,派出快马向刘裕告急,刘裕将使者喊到船上,他推开船舱的北面窗户,指着北岸的魏军,对使者说:“我给他们传话说不可轻率前进,你们不听我言,如今,北岸是如此情形,我怎能给你们派去部队?”不论与魏军是战是和,此时的刘裕均不能分军,也无法分军西上,给王镇恶等人送去粮食。他在考虑如何对付面前棘手的魏军,好在是魏军暂时尚未渡河南下的意图,这说明,起码到目前为止,魏主尚无主动与晋军决战的决心,基于上述考虑,晋军最佳的应对办法就是继续西上,不主动进攻魏军,但是,一旦分军,也许会开启魏军的野心。等不到刘裕大军支援的王镇恶所部,为了解决粮荒,王镇恶亲自来到弘农(河南省灵宝县),动员当地百姓,向晋军捐献粮食,当地百姓深受感动,纷纷捐献,晋军的粮食问题暂时得到了解决。
三月八日,刘裕的舰队从清河进入黄河,魏军数千骑兵在黄河北岸随着晋军舰队一起西行,由于黄河波涛汹涌,晋军又是逆水而上,每条战舰都由士兵们在南岸上用一百多丈长的缰绳牵引着前进,有时候,遇到水流湍急之处,或者天上突然刮起大风,牵引战舰的缰绳突然折断,战舰失去引力,往往随波逐流,漂到对岸,战舰上的晋军士兵总是被魏军斩杀或者俘虏,抢掠船上的物品。针对魏军的挑衅行为,刘裕决定让他们尝尝厉害,但是,派出的晋军刚刚登上北岸,魏军就飞马退去,跑得无影无踪,而晋军刚一上船,魏军又卷土重来,反复多次。看到魏军如此嚣张,激怒了晋宁朔将军胡藩,他率领十二名亲随乘坐小船,径直划向北岸,魏军五六百骑兵见此情形,都相视哈哈大笑。胡藩素来善射,这十三名勇士登上北岸以后,胡藩即张弓搭箭,一连射杀了十几名北魏骑兵,剩余魏军均仓皇而退,胡藩将魏军掳掠的财物又都找了回来。
四月,东晋太尉刘裕命令白直队主丁旿率领七百名猛士,带着一百辆战车,来到黄河北岸,距离河水一百多步,构筑一个却新月阵型,阵型的两端伸向河岸。每辆战车上有7名甲士,部署完毕以后,刘裕下令新月阵中竖起一杆白色羽毛大旗。白直,是指没有月薪的小吏,白直队,是在士兵中精挑细选的精锐武士所组成的卫队,丁旿,就是那位拉杀诸葛长民的刘裕的贴身卫士长。
刚开始的时候,魏军看到数百晋军拉着战车上岸,都不明白晋军到底要干什么,因此,没有立即发起攻击。新月阵构筑完毕以后,刘裕看到阵中白色羽毛大旗竖立了起来,只见他一声令下,宁朔将军朱超石率领两千多人飞也似地进入阵地,他们携带了一百多张机械大弩,每辆战车上也随之增加了二十人,瞬间就在车上竖起了防御彭排(即大盾)。魏军看到晋军瞬间建立起了滩头阵地,赶忙发起进攻,朱超石下令先用弱弓小箭射击,魏军见此情形,以为晋军兵少武器装备不行,就从四面八方向新月阵地扑来。与此同时,北魏司徒长孙嵩也率领三万骑兵从平原赶到,于是,魏军肉搏攻击晋军阵营。当魏军接近晋军营垒以后,晋军突然拿出连发的机械大弩,射杀了大量敌人,但是,终因敌人人数太多,即使那一百张大弩,也无法压制住蜂拥而上的敌人。朱超石的军中提前预备有大铁锤和一千多条丈八蛇矛,这时,他下令将丈八蛇矛全部切割成三四尺长的短棒,然后用铁锤将其砸成锋利的刀片,将其安装在机械大弩上,一发而去,就能洞穿三四个人的胸脯。这样以来,晋军终于打退了魏军的进攻,并阵斩了阿薄干,于是,魏军退还畔城。朱超石又率领宁朔将军胡籓、宁远将军刘荣祖(刘裕表侄、刘裕姨表兄弟刘怀慎庶长子)等众将乘胜追击,又被魏军重重包围,晋军人数不足五千,并且都是新入伍的战士,但是,在众将的激励下,晋军浴血奋战,整整苦战了一天,斩杀上千敌人,魏军这才退去。晋军凭借着“却月阵”以区区二千余人竟然击败了数万魏军,一战打出了晋军的威名,猛将朱超石、胡藩等人之名也让魏军闻风丧胆。稍后,刘裕又派遣振武将军徐猗之率领五千人进攻越骑城(今地不详),魏军骑兵包围了徐猗之部,朱超石领兵增援,魏军听说朱超石前来,不战而逃。胜利以后,刘裕设宴犒赏三军,他对刘荣祖说:“爱卿以少击众,在你的进攻面前不存在坚城,虽古之名将,也比不过啊!”当即晋升其为太尉中兵参军、加建威将军。
魏主拓跋嗣听到前方的败报,这才后悔没有听从崔浩之言,于是,下诏不再与晋军纠缠,允许晋军借道西去。