17日拂曉,鄧錫侯部全線出擊。先頭部隊進至紅軍岩嘴頭附近預定作戰區域時,鄧錫侯即以小部隊搜索前進,大部隊隨後跟進,企圖與紅軍先進行局部戰鬥,搶奪有利地形,掩護主力向武都前進。徐向前則以小部紅軍沿公路兩側且戰且走,誘敵深入,主力則一直隱蔽在待機區域。敵龔渭清指揮左翼2個旅進展較快,不久便攻至白廟子、官渡溪一線。鄧錫侯見先頭部隊進展順利,便令大部隊以梯次密集隊形向武都推進。
魯家梁子東瀕涪江,西臨八家河,它與塔子山似一道城牆把江油與中壩攔腰斬斷。許世友指揮的紅4軍部隊就固守在這裏。鄧錫侯先以飛機大炮狂轟濫炸,接著令龔渭清指揮3個團的兵力向紅軍陣地發起集團衝鋒。紅軍充分發楊火力近戰,給敵以沉重打擊。敵軍在督戰隊逼使下不顧傷亡蜂擁而至,突破了紅4軍左翼34團與紅30軍第88師的接合部。許世友急令預備隊紅28團反擊。驍勇善戰的團長王近山率領部隊衝入敵群肉搏,將敵人趕下了山。戰至下午,紅軍傷亡不斷增多,不少連隊隻剩下三四十人了,很多指戰員仍然帶傷堅持戰鬥。此時,敵遊廣居指揮右翼部隊兩個旅占領火風山,接著又仰攻紅25師塔子山陣地。紅軍據險固守,給敵以大量殺傷。遊廣居部隊攻至山腹後已饑餓疲憊不堪,士氣已竭,無力再攻。紅25師乘勢以猛烈火力從正麵殺傷敵人,又以大部兵力從兩翼包抄敵軍。敵旅長孫禮急投入預備隊與紅軍反複衝殺。激戰約1小時,孫禮旅傷亡過半,率先向中壩潰退。紅25師乘勢從三麵席卷盧濟青旅。盧濟青旅分兩路潰退,旅長盧濟青率旅部和傅汝州團退回中壩,康伯銘團即向龔渭清旅後背靠攏。
鄧錫侯右翼部隊潰敗,徐向前即令全線出擊。紅4軍軍長許世友抓住龔渭清、陶凱兩旅軍心動搖之機,以紅11師1個團迂回敵側後,斷其退路,軍主力則從兩翼協同紅88師迅猛反擊。龔渭清是鄧錫侯部隊中有名的敢死隊長,他赤膊上陣,率領配置清一色二十響快慢機駁殼槍的手槍營負隅頑抗。紅軍以排山倒海之勢壓向敵手槍營,頃刻間斃傷其大半。龔渭清和兩個團長受重傷,在康伯銘團的掩護下,乘著夜色,沿官渡溪河穀逃往中壩。在紅軍大舉反擊時,武都守敵楊曬軒以為援兵來到,立即組織突圍。該旅一部突出城外不到4裏即被紅27師全殲。楊曬軒即縮回武都城。鄧錫侯在岩嘴頭督戰,見所部4個旅潰不成軍,失去掌握,紅軍又呐喊著“活捉鄧錫侯!”,漫山遍野殺來,使他心驚肉跳!鄧錫侯急令預備隊就地占領陣地,掩護潰退部隊,自己則騎馬隨潰退部隊逃向中壩。當夜,紅軍追至岩嘴頭附近一個山頭上,紅88師和紅25師發生誤會,相互混戰多時,致使鄧錫侯乘機逃走。
鄧錫侯決定放棄中壩。他令孫禮旅連夜退至通口河右岸占領陣地,收容各旅潰兵,控製香水場上下各渡口,警戒和監視當麵紅軍;令任建勳團利用城垣掩護各部連夜渡過通口河,於拂曉前撤至青義場待命;電令武都楊曬軒繼續固守江油城。部署完畢後,鄧錫侯乘汽車向綿陽逃跑,沿途又遭紅軍突擊隊不斷襲擊,“活捉鄧錫侯”的吼聲不絕於耳。鄧錫侯驚恐萬狀,催促司機加速駛過慢坡渡,令衛隊砍斷浮橋,阻擊紅軍突擊隊,方得回到綿陽。
江油戰役勝利結束,紅軍殲敵4個多團,俘敵3000餘人,繳獲大批武器彈藥和軍需物資。4月18日,紅軍克中壩,19日又克彰明。4月12日,紅30軍第89師一部進入北川;紅4軍18日攻克梓潼後,一部乘勝向西,於4月22日攻克北川縣城治城鎮,隨後又占領了以治城為中心的24個半鄉,與平武、江油連成一片,打通了曹山溝以上地區的峽穀通道。紅89師向西北挺進,相繼攻占青川、平武。在曆時24天的嘉陵江戰役中紅軍先後攻克閬中、南部、劍閣、昭化、梓潼、青川、平武、彰明、北川九座縣城,控製了東起嘉陵江,西迄北川,南達梓潼,北抵川甘邊界縱橫二三百裏的廣大地區,共殲敵12個團1萬餘人。嘉陵江戰役打亂了蔣介石和劉湘的“川陝會剿”計劃,威逼四川軍閥統治中心成都,又有北出甘南之勢,迫使蔣介石調兵陝、甘,劉湘主力13個旅西調綿陽,總計牽製和抗擊了參加會剿的敵軍兵力183個團,從而有力地配合了中央紅軍西入雲南、北渡金沙江的行動。