八月,拓跋珪到達永安,姚平派驍將率二百精銳騎兵視察魏軍,反被長孫肥所擒。
於是乎,姚平撤走,結果卻被魏軍追擊。
到柴壁時,姚平被追上,因此只好守城自保,魏軍則圍困城池。
當姚興得知姚平被困柴壁後,親自率領四萬七千人進行救援,並打算經過汾水渡口運糧支援姚平。
拓跋珪命人增築重圍,而魏將安同則說道:“汾水東面有一處叫蒙坑,共長三百多里,沿途沒有小路進入。姚興到來肯定會由汾水西岸直接至柴壁,這樣敵人內外聲勢相應,再堅固的圍城工事也擋不住。不如製作浮橋西渡汾水,並在西岸築圍拒守,敵人來後就無計可施了。”
於是,拓跋珪接受了這個策略,並下令執行。
在姚興率軍抵達蒲阪後,因為忌憚魏軍的強大,於是拖了很久才下令繼續進軍。
姚興如安同所預計——被逼得沿著蒙坑進軍。
於是,拓跋珪率領三萬步騎在蒙坑以南進攻秦軍,成功殺死一千多人。
姚興退兵四十多里,姚平也不等姚興率軍接近,立馬就選擇了突圍。
隨後,魏軍分據險要位置,嚴防秦軍接近柴壁。
雖然屯於汾西的姚興試圖用一束束柏木破壞魏軍的浮橋,但都被北魏兵鉤取了,因此沒有成效。
至十月,姚平的軍隊彈盡糧絕,便率眾集中向西南方突圍。
姚興也列兵於汾水以西,並舉起烽火,擂鼓以作響應。
不過姚興想要姚平盡力突圍,姚平卻希望姚興能夠逼退圍城的北魏軍,以作接應。
於是,兩者都無法突破重圍。
最終,姚平突圍失敗,無奈之下只能投水自盡。
拓跋珪則派遣水性好的人前去捕捉他們,最後都將屍體一一撈起了,其餘像狄伯支、唐小方等四十多名將領及城內二萬多名士兵都被擒獲。
姚興始終無計可施,坐視柴壁失守,全軍都哀傷痛哭,聲震山谷。
之後,姚興多次遣使求和,卻都被北魏方面給拒絕了。