對周不加防範而專意於征伐東夷。對東夷之戰不僅使商王朝實力大為消耗,而且使西線為之空虛,同時激化了國內矛盾和統治者之間的鬥爭,使周取得了滅商的有利戰機。
武王為實施最後進攻,先試探諸侯的態度,利用文王在諸侯中的威信,曾載文王的靈牌在孟津(今河南孟縣西南)聯合各諸侯東向觀兵,從者八百諸侯。這次會盟既是一次軍事演習,同時也是對武王盟主地位的大檢閱,會盟的成功無疑在政治上確立了武王的盟主地位,使武王有能力組織強大的軍事力量滅商。
武王雖得到各諸侯的擁護,但仍感時機不夠成熟,會盟後即退兵,又經兩年的準備,武王信心倍增。而此時商統治集團內部分崩離析,想挽回商王朝命運的貴族盡遭陷害:王子比幹被殺,箕子被囚,微子逃走,少師、太師奔周,商紂王完全陷於孤立。
武王抓住這一有利時機,“率戎車三百乘,虎賁三千人,甲士四萬五千人”(《史記·周本紀》)東進伐商,並遍告諸侯於盟津會師,準備對商展開決戰。
周軍從宗周出發,沿渭河和黃河南岸行抵盟津渡河,大會諸侯,組成聯軍。
當時聯軍中除國姓諸侯和歸附於周的其他諸侯外,還有西方和南方的庸、蜀、髳、微、盧、彭、濮等方國部落的軍隊。
武王向聯軍發布誓師令(《泰誓》),曆數紂王的種種罪行,宣布伐商是執行上天的旨意,激勵全軍將士同仇敵愾,勇往直前。
戰前動員後,聯軍以“朝食於戚,暮宿於百泉”(《荀子·懦效篇》)的急行軍迅速挺進商都朝歌西南的牧野(今河南汲縣北),並進入臨戰狀態。
公元前1027年周曆二月甲子日清晨,在發起總攻前武王再次舉行誓師大會,武王在誓詞(即《牧誓》)中揭露商紂王逆天叛道,拋棄祖宗,離棄兄弟,重用奸人,為非作歹,使生靈塗炭,因此必須奉行天命伐而滅之。同時宣布作戰紀律,教以戰法,勉勵士卒勇敢殺敵。
麵對聯軍的進攻,紂王毫無準備。
時商軍主力仍在東線與東夷作戰,為抵抗聯軍,不得不臨時武裝大批奴隸,倉促應戰。
《史記·周本紀》記牧野之戰戰況雲:“帝紂聞武王來,亦發兵七十萬人踐武王,武王使師尚父與百夫致師,以大卒馳帝紂師。紂師雖眾,皆無戰之心,心欲武王亟入。紂師皆倒兵以戰,以開武王。武王馳之,紂兵皆崩畔紂。紂走,反入登於鹿台之上,蒙衣其殊玉,自燔於火死。”
文中七十萬人,其數不確,《尚書·武成》孔穎達疏雲:“紂兵雖則眾多,不得有七十萬人,是史官美其能破強敵,虛言之耳。”
又清人梁玉繩《史記誌疑》卷三雲“案:三代用兵無近百萬者,況紂正發畿內之兵,安能如此其多。”由此可知紂軍並非確有70萬人,但其數量多於聯軍則有可能,但從文中商軍“皆無戰之心,心欲武王亟入”紛紛倒戈叛紂來看,商紂王為數眾多的軍隊當不是國家軍隊的主體,而是由奴隸臨時拚湊而成,唯充數以虛張聲勢而已。
從戰鬥經過來看,兩軍並未有激烈的交鋒,武王采用了聲東擊西的策略,派師尚父帶領少數勇猛之士向紂軍挑戰,轉移敵軍注意力並挫傷其銳氣,而後親率主力向敵軍發動猛烈攻擊,紂軍遭此突擊,不戰自潰,奴隸大軍紛紛倒戈,紂軍頃刻土崩瓦解,紂王自知大勢已去,逃回鹿台,自焚而死。周軍乘勝占領朝歌,商王朝遂告滅亡。
牧野之戰是我國古代以少勝多的著名戰例,這場戰爭從準備到進行,周王始終把政治攻勢與軍事攻勢放在同等重要的地位,充分發揮政治攻勢的效力,瓦解孤立敵人,團結一切可以團結的力量,壯大自己。這一措施在戰爭中顯示了強大的威力。