這時姚泓的堂弟,徵北將軍齊公姚恢在安定發動叛亂。上文說過,安定計程車兵都是精兵,是用來防備胡夏的。姚恢帶這樣一支軍隊叛亂,那是極危險的。姚恢認為姚泓一方面要派兵東拒晉軍,一方面還要派兵到山西平叛,關中必然空虛。而自己有大軍十萬,肯定能一路殺到長安,奪取政權。雖然他想得很有道理,但現實卻是無情的。姚紹很快從山西趕回來,在靈臺攔住了姚恢的軍隊。兩軍對陣後,呈膠著狀態,誰也不能前進一步。這時姚贊率潼關的守軍趕回來,從姚恢的後路殺入,姚恢大敗後被殺。
王鎮惡所率的晉軍趁秦國內亂連連攻破澠池、蠡吾、陝津,開始強攻潼關。姚泓命姚紹帶五萬士兵去加強潼關的防守,同時又派人向北魏求援。
姚紹帶兵五萬來到潼關後,認為王鎮惡兵少,便出關與之決戰,反被擊敗,王鎮惡並趁勢奪了潼關。
姚紹退入定城,死死守城,這回再不敢出戰了。這一次他採取了較為正確的軍事策略。他派姚鸞在大路設防,姚贊在黃河設阻,斷去晉軍的糧道。晉軍前進被定城所阻,糧草又被斷去,很快就出現了糧荒。沈林子和王鎮惡一方面穩住軍心,一方面向劉裕求援。
劉裕此時已經開通了鉅野舊河道,可以一路由水運將糧草輜重運到黃河,再由黃河運輸到前線。但黃河北岸是北魏的地盤,要想從黃河進行大批次的運輸,還得北魏願意才行。於是,劉裕派人給北魏送去重禮,要求借道。
北魏這個時候已經換了皇帝。皇帝拓跋珪早年去賀蘭部的時候,見到一個極美的美女,可惜的是這個美女已經結婚了。為了得到這個美女,拓跋珪派人暗殺了她的丈夫,然後把她即賀氏娶回宮中,封為夫人。後來賀夫人生下一個兒子叫做拓跋紹。
可能是上天報應,拓跋紹打小就是個兇狠無賴之徒,他最大的愛好就是在大街上搶劫,把行人連衣服都剝得精光。拓跋珪對這個兒子很是不喜歡,曾經讓人把他拴住倒懸在井中,直到快死了才拉出來。拓跋紹也對父親非常憤恨。
天賜六年(409)十月,拓跋珪要立長子拓跋嗣為太子。按北魏的舊風俗,只要是立太子,一定要先把太子的母親殺死,這雖然是為了防止太后和外戚專權,但也很殘忍。拓跋嗣的生母是劉貴人,劉貴人就要被賜死。但拓跋嗣對母親很孝順,大哭著乞求拓跋珪饒母親一命。拓跋珪說:&ldo;當年漢武帝殺鉤弋夫人,就是為了防止母后幹預朝政和外戚作亂。古人也做過這樣的事,這有什麼奇怪的。我們這樣做是為了國家長久啊。&rdo;拓跋嗣沒辦法,只好回到東宮。但是天天痛哭,沒完沒了。拓跋珪心煩意亂,便派人再召拓跋嗣入宮。拓跋嗣乾脆帶了兩個心腹趁夜逃走了,心說:&ldo;我不當太子,總行了吧。&rdo;
賀夫人聽說拓跋嗣逃了,於是便請拓跋珪立拓跋紹為太子。賀夫人為了兒子前途,甘願赴死的精神實在可嘉。但這又觸到了拓跋珪痛處,他大怒道:&ldo;朕最恨的就是婦人干政,所以才有殺母立太子的規矩。你來干政,那你是找死。&rdo;當即命人把賀氏拖出去,等天亮後處決。拓跋紹知道這個訊息以後,立即率領心腹武士,並買通宮內宦官、宮女,連夜翻牆入宮,殺入天安殿,將拓跋珪亂刀砍死。拓跋珪時年只有三十九歲。
第二天一大早,百官在端門外等著上朝。上班的時間早就過了,宮門卻遲遲不開。一直等到中午,宮門的門縫裡才傳出一個聲音:&ldo;我有叔父,也有兄長。你們打算立誰為帝?&rdo;這是拓跋紹的聲音。
百官聽了都很驚訝,過了一會兒才反應過來拓跋珪已經死了。百官頓時議論紛紛,人猜疑拓跋珪的暴亡與拓跋紹有關。但因為拓跋珪只有兩個兒子,另一個兒子失蹤,這個兒子殺父,他們一時也不知道該如何是好,便都