周文王死了以后,他儿子姬发即位,就是周武王。周武王拜太公望为师,并且要他的兄弟周公旦、召公睾(音shì)作他的助手,继续整顿内政,扩充兵力,准备讨伐商纣。
第二年,周武王把军队开到盟津(今河南孟津东北)地方,举行一次检阅,有八百多个小国诸侯,不约而同地来到盟津会师。大家都向武王提出,要他带领大家伐商。但是武王认为时机未到,检阅结束后又回到丰京。
这时候,纣的暴政越来越残酷了。商朝的贵族王子比干和箕子、微子非常担心,苦苦地劝说他别这样胡闹下去。纣不但不听,反而毫无人性地把叔父比干杀了,还叫人剖开比干的胸膛,把他的心掏出来,说要看看比干的心是什么颜色的。从此,纣王周围唤和册的大臣再也没有敢进谏的了。贤臣箕子装作发疯,总算免了一死,被罚作奴隶,囚禁起来。微子看见商朝已经没有希望,就离开别都朝歌出走了。朝中的大臣太师疵和少师棚辩强带了商朝的祭器乐器,纷纷投靠周武王。
公元前1027年(一说公之前1057年)正月,武王听到探子的报告,知道纣已经到了众叛和宏亲离的地步,认为时机已经成熟,就发兵五万,请精通兵法的太公望做元帅,周公旦、毕公高辅佐,渡过黄河东进。到了盟津,八百诸侯又重新会师在一起。周武王在盟津举行一次誓师大会,宣布了纣残害人民的罪状,鼓励大家同心伐纣。
在武王进军的路上,一天,有两个老人挡住了大军去路,要见武王。有人认出来,这两人本来是孤竹国(在今河北卢龙)国王的两个儿子,哥哥叫伯夷,弟弟叫叔齐。孤竹国王钟爱叔齐,想把王位传给他,伯夷知道父王的心意,主动离开孤竹;叔齐不愿接受哥哥让给他的王位,也躲了起来。在周文王在世的时候,他们两人一起投奔周国,定居下来。这回听到武王伐纣,就赶来阻止。周武王接见他们时,两人拉住武王的马缰绳说:“纣王是天子,你是个臣子。臣子怎能讨伐天子,这可是大逆不道的事啊。”
武王左右将士听了这些话,非常生气。有的把剑拔出来,想杀他们。太公望知道这两人不过是两个书呆子,吩咐左右将士不要为难他们,把他们拉开。哪知道这两个人太固执,不再吃周国的粮食,竟躲到首阳山(在今山西永济西南)上,绝食自杀。
周武王的讨纣大军士气旺盛,一路上势如破竹,仅仅经过6天行军,于2月初四拂晓就打到距离朝歌仅仅七十华里的牧野(今河南淇县西南)。
纣听到这个消息,只好仓促部署防御。但此时商军主力还在东南地区,无法立即调回,立刻拼凑了十七万人马。他想,武王的兵力不过五万人,十七万人还打不过五万吗?于是商纣王亲自率领,开赴牧野迎战周师。
可是,那十七万商军有一大半是临时武装起来的奴隶和从东夷抓来的俘虏。他们平日受尽纣的压迫和虐待,早就对纣恨透了,谁也不想为纣卖命。在牧野战场上,当周军勇猛进攻的时候,他们就掉转矛头,纷纷倒戈,大批奴隶配合周军一起攻打商军。十七万商军,一下子就土崩瓦解。太公望指挥周军,趁势追击,一直追到商都朝歌。
商纣逃回朝歌,眼看大势已去,纣王下令手下人把所有的金银财宝堆到鹿台上。当夜,就躲进鹿台,放了一把火,跳到火堆里自焚而死。
周武王率大军威严雄壮地进入朝歌城。商朝老百姓扶老携幼站在道路两旁欢迎周军。武王命令南宫适把鹿台里的还未烧毁的金银珠宝拿出来,分发给老百姓,还叫他打开钜桥大粮仓,让群众前来领取粮食。朝歌城里欢声四起,人们到处都谈论武王的好处和纣王的残暴。武王还叫毕公高释放被商纣王关起的奴隶、罪人以及从各地掠夺的女子,让他们获得自由。