西夏统军叶悖麻、咩讹埋没有大意,率三十万大军驻扎在泾原以北,伺机夺取永乐。闻知永乐城修好,夏军出动数千士卒渡无定河前来攻城,但渡河后不战而退。
徐禧虽然不解夏军的意图,但仍然大喜过望,说道:“这是永乐城的雄壮喝退了敌人,这都得益于在永乐筑城的英明决策。”沈括听到这话心中苦涩,真不知怎么能得出如此拙劣的结论?
徐禧以为夏军胆怯不敢攻城,遂不加防备,令大将曲珍、景思宜等领兵万余镇守,自行带中军、右虞侯军、右军返回米脂。宋军的大部队刚刚撤离,西夏的三十万大军就倾巢出动,前来夺城。刚愎自用的徐禧闻讯后完全不信,夏军怎么敢来侵犯如此雄伟的永乐城?等到大将曲珍一再急报,徐禧才信,于是命令沈括留守米脂。自己同李舜举等人率领仓促拼凑起来的一万余将士驰援永乐城,并列阵于永乐城外,打算和西夏军队野战。
大将高永能见西夏军队尚未齐集,提议:“趁西夏军队未列好阵势,突然向其发起攻击,可以起到出其不意的效果。”
徐禧不以为然:“这样打仗胜之不武,岂是我等所为?”
西夏以精锐铁鹞子抢渡无定河,曲珍和高永能又建议:“趁敌一半渡过河,一半还在河中,立即发起攻击才有机会取胜,等西夏铁鹞子全都过了河,几无胜算。”
徐禧又拒绝:“胜之不武!”曲珍和高永能闻言欲哭无泪。
西夏精锐渡过河,列好阵势向宋军发起猛烈攻击,徐禧令宋军王牌先锋骑兵数千人迎战,很快被优势夏军击溃。宋军被迫退守城内,永乐城被夏军团团包围。
西夏军很快攻下了水寨,切断了宋军的水源。宋兵饮用水很快用尽,永乐城根本就打不出井来,士卒渴死了一大半,有些士兵甚至绞马粪汁解渴。
众将见城不能守,高永能劝徐禧尽出金帛招募敢死队与西夏军血拼,或许能有七八成士兵突围成功,曲珍也劝徐禧趁现在还有实力弃城突围,赶紧采取动作。徐禧却表示城池十分重要,不能丢弃。此时西夏军在以残暴著称的仁多零丁的率领下,近乎疯狂的攻城。
叶悖麻害怕留守米脂的沈括率兵救援,遂派了万余兵力南攻绥德,以牵制沈括部。绥德城内三百羌众暗中内应,沈括得知后,回兵绥德城内,将内应者全部处死,及至沈括再引军永乐,已错失救援良机。李宪率熙河军远道来援,受到西夏军队阻击不能前进。鄜延道总管种谔憋了一肚子气,也没有全力援救徐禧。
徐禧见情况危急,还妄图去和西夏谈判,可见其幼稚至极。夏军继续猛攻,西夏人在城下叫嚣:“汉人怎么还不投降,已经三天没有水了吧?”
徐禧听了把自己水壶里仅剩的一点水倒下去说:“无水?你看这是什么?”这个愚蠢的把戏又能起什么作用呢?
西夏军大笑道:“就这些了吧?”
天突降大雨,夏军一边更加猛烈、不顾生死的攻城,一边派一万多人拿着铁锹,冒着矢石箭雨狂挖墙体,新城多处溃塌,永乐城被西夏军攻破。攻占永乐后,夏军又兵临米脂城下,耀兵三日而还。
永乐城筑成后四天,便遭到西夏军主力的袭击。经过十二天的战斗,永乐城陷落。宋军阵亡官兵一万多人,筑城的二十万民夫也被西夏军屠杀。徐禧、李舜举、高永能等皆死于乱兵之中。神宗皇帝得闻败讯,涕泣悲愤。早朝时,他又对大臣痛哭,使得大臣不敢抬头看他。