公元前1027年(壹說前1057年)正月,周武王統率兵車300乘,虎賁3000人,甲士4萬5千人,浩浩蕩蕩東進伐商。同月下旬,周軍進抵孟津,在那裏與反商的庸、盧、彭、濮、蜀(均居今漢水流域)、羌、微(均居今渭水流域)、髳(居今山西省平陸南)等方國部落的部隊會合。武王利用商地人心歸周的有利形勢,率本部及協同自己作戰的方國部落軍隊,於正月二十八日由孟津冒雨迅速東進。從汜地(今河南滎陽汜水鎮)渡過黃河後,兼程北上,至百泉(今河南輝縣西北)折而東行,直指朝歌。周師沿途沒有遇到商軍的抵抗,故開進順利,僅經過6天的行程,便於二月初四拂曉抵達牧野。
周軍進攻的消息傳至朝歌,商朝廷上下壹片驚恐。商紂王無奈之中只好倉促部署防禦。但此時商軍主力還遠在東南地區,無法立即調回。於是只好武裝大批奴隸,連同守衛國都的商軍***約17萬人(壹說70萬,殊難相信),由自己率領,開赴牧野迎戰周師。
二月初五淩晨,周軍布陣完畢,莊嚴誓師,史稱“牧誓”。武王在陣前聲討紂王聽信寵姬讒言,不祭祀祖宗,招誘四方的罪人和逃亡的奴隸,暴虐地殘害百姓等諸多罪行,從而激發起從征將士的敵愾心與鬥誌。接著,武王又鄭重宣布了作戰中的行動要求和軍事紀律:每前進六步、七步,就要停止取齊,以保持隊形;每擊刺四、五次或六、七次,也要停止取齊,以穩住陣腳。嚴申不準殺害降者,以瓦解商軍。
誓師後,武王下令向商軍發起總攻擊。他先使“師尚父與百夫致師”,即讓呂尚率領壹部分精銳突擊部隊向商軍挑戰,以牽制迷惑敵人,並打亂其陣腳。商軍中的奴隸和戰俘心向武王,這時便紛紛起義,掉轉戈矛,幫助周帥作戰。武王乘勢以“大卒(主力)沖馳帝紂師”,猛烈沖殺敵軍。於是商軍十幾萬之眾頃刻土崩瓦解。紂王見大勢盡去,於當天晚上倉惶逃回朝歌,登上鹿臺自焚而死。周軍乘勝進擊,攻占朝歌,滅亡商朝。爾後,武王分兵四出,征伐商朝各地諸侯,肅清殷商殘余勢力。
牧野之戰是我國古代車戰初期的著名戰例,它終止了殷商王朝的六百年統治,確立了周王朝對中原地區的統治秩序,為西周奴隸制禮樂文明的全面興盛開辟了道路,對後世歷史的發展產生了深遠的影響。而其所體現的謀略和作戰藝術,也對古代軍事思想的發展具有不可低估的意義。