大臣们退出后,振威将军、代郡人伊对太武帝说:“凉州要是真没有水草,他们怎么立国?众人的建议都不能用,应该听从崔浩的话。”太武帝认为他说得对。
夏天,五月十四日(丁丑日),北魏太武帝在西郊训练军队;六月十一日(甲辰日),从平城出发。派侍中、宜都王穆寿辅佐太子拓跋晃留守监国,处理朝廷留守事务,朝廷内外都听从他的命令。又派大将军、长乐王稽敬,辅国大将军、建宁王拓跋崇率领两万人驻扎在漠南,防备柔然。太武帝让公卿大臣写信斥责河西王沮渠牧犍,列举他的十二条罪状,还说:“如果你来亲自率领群臣,捧着礼物远迎,在我马前拜见,这是上策;要是我大军到了,你反绑双手、带着棺材来投降,这是中策;如果执迷不悟,坚守孤城,不及时悔改,就会身死族灭,成为世人唾弃的对象。你要好好考虑,为自己谋求一条生路!”
六月十六日(己酉日),刘宋朝廷改封陇西王吐谷浑慕容慕利延为河南王。
北魏太武帝从云中郡渡过黄河,秋天,七月初七(己巳日),抵达上郡属国城(今陕西榆林附近)。七月二十日(壬午日),留下军用物资,部署各路军队:命抚军大将军、永昌王拓跋健,尚书令刘絜和常山王拓跋素担任前锋,分两路进军;骠骑大将军、乐平王拓跋丕,太宰、阳平王杜超担任后续部队;任命平西将军源贺为向导。
太武帝向源贺询问攻取凉州的策略,源贺回答:“姑臧城附近有四部鲜卑,都是我祖父(鲜卑秃发部首领)的旧部,我愿意在大军前面,宣扬国家的威信,向他们说明祸福,他们一定会相继归顺。外援归附后,再攻取姑臧这座孤城,就易如反掌了。”太武帝说:“好!”
八月初二(甲午日),永昌王拓跋健缴获河西国的牲畜二十多万头。
河西王沮渠牧犍听说北魏大军来了,吃惊地说:“怎么会这样!”他采用左丞姚定国的计策,不肯出城迎接,反而向柔然求救。派弟弟征南大将军沮渠董来率领一万多人在城南迎战,结果一看到北魏军队就溃逃了。刘絜听信占卜的人说当天时辰不利,就收兵不追,沮渠董来得以逃回城中。太武帝因此对刘絜很生气。
八月初四(丙申日),北魏太武帝抵达姑臧,派使者劝沮渠牧犍出城投降。牧犍听说柔然要侵犯北魏边境,希望太武帝能东返,于是据城坚守;他哥哥的儿子沮渠祖翻墙出城投降,太武帝完全了解了城中情况,就分兵包围姑臧。源贺领兵招抚了四部鲜卑三万多户,所以太武帝能专心攻打姑臧,没有后顾之忧。
太武帝看到姑臧城外水草丰美,于是怨恨李顺,对崔浩说:“你以前说的话,现在果然应验了。”崔浩回答:“我说话不敢不实,这类情况都是如此。”
太武帝当初要讨伐凉州时,太子拓跋晃也有疑虑。到这时,太武帝给太子下诏说:“姑臧城东门、西门外,有涌泉汇合在城北,水量大得像河流。其他水渠把水引到沙漠中,这一带没有干燥的土地。所以写这道敕令,消除你的疑虑。”
八月初八(庚子日),刘宋文帝封皇子刘铄为南平王。
九月二十五日(丙戌日),河西王沮渠牧犍哥哥的儿子沮渠万年率领部下投降北魏。姑臧城被攻破,牧犍率领文武官员五千人反绑双手请求投降,太武帝解开他的绑绳,以礼相待。北魏没收城中二十多万户人口,仓库里的珍宝多得数不清。太武帝派张掖王秃发保周、龙骑将军穆罢、安远将军源贺分别巡视各郡,各族胡人投降的又有几十万。
当初,沮渠牧犍任命弟弟沮渠无讳为沙州刺史、都督建康以西诸军事,兼任酒泉太守;任命沮渠宜得为秦州刺史、都督丹岭以西诸军事,兼任张掖太守;任命沮渠安周为乐都太守;任命堂弟沮渠唐儿为敦煌太守。等姑臧被攻破后,太武帝派镇南将军、代郡人奚眷攻打张掖,派镇北将军封沓攻打乐都。沮渠宜得烧毁仓库,向西逃往酒泉;沮渠安周向南逃往吐谷浑;封沓抢掠了几千户人口后返回。奚眷进军攻打酒泉,沮渠无讳、沮渠宜得收拢残余百姓逃往晋昌(今甘肃安西附近),随后到敦煌投奔沮渠唐儿。太武帝派弋阳公元絜镇守酒泉,同时在武威、张掖都设置将领驻守。
太武帝在姑臧设酒宴请群臣,说:“崔公智谋有余,我不再觉得新奇。伊是个擅长射箭骑马的武士,见解却和崔公相同,实在难得!”伊擅长射箭,能拉着牛倒走,跑起来能追上奔马,而且性情忠诚谨慎,所以太武帝特别喜爱他。
太武帝西征时,穆寿把他送到黄河边,太武帝告诫