周武王的讨纣大军士气旺盛,一路上势如破竹,仅仅经过6天行军,于2月初四拂晓就打到距离朝歌仅仅七十华里的牧野(今河南淇县西南)。
纣听到这个消息,只好仓促部署防御。但此时商军主力还在东南地区,无法立即调回,立刻拼凑了十七万人马。他想,武王的兵力不过五万人,十七万人还打不过五万吗?于是商纣王亲自率领,开赴牧野迎战周师。
可是,那十七万商军有一大半是临时武装起来的奴隶和从东夷抓来的俘虏。他们平日受尽纣的压迫和虐待,早就对纣恨透了,谁也不想为纣卖命。在牧野战场上,当周军勇猛进攻的时候,他们就掉转矛头,纷纷倒戈,大批奴隶配合周军一起攻打商军。十七万商军,一下子就土崩瓦解。太公望指挥周军,趁势追击,一直追到商都朝歌。
商纣逃回朝歌,眼看大势已去,纣王下令手下人把所有的金银财宝堆到鹿台上。当夜,就躲进鹿台,放了一把火,跳到火堆里自焚而死。
周武王率大军威严雄壮地进入朝歌城。商朝老百姓扶老携幼站在道路两旁欢迎周军。武王命令南宫适把鹿台里的还未烧毁的金银珠宝拿出来,分发给老百姓,还叫他打开钜桥大粮仓,让群众前来领取粮食。朝歌城里欢声四起,人们到处都谈论武王的好处和纣王的残暴。武王还叫毕公高释放被商纣王关起的奴隶、罪人以及从各地掠夺的女子,让他们获得自由。
周武王灭了商朝,结束了殷商王朝600年统治,把国都从丰邑搬到镐京(今陕西西安市西),建立了周王朝。
为了巩固周朝的统治,从周武王起,把自己的亲属和功臣分封各地,建立诸侯国,太公望被封在齐国,他的弟弟周公旦被封在鲁国,召公被封在燕国。据说从武王到他的儿子成王,一共封了七十多个诸候国。
商朝虽然灭亡了,但是它留下的贵族和奴隶主在社会上还有一部分势力。为了安抚这些人,武王把纣王的儿子武庚封为殷侯,留在殷都,又派自己的三个兄弟管叔、蔡叔和霍叔去帮助武庚。名义上是帮助,实际上是监视,所以叫做“三监”。
其实与其说周武王是灭掉了商朝不如说他是灭掉了纣王才对,武王起兵讨伐的就是纣王,当然纣王这个称呼是周人后来加给他的,他叫帝辛。我们看从武王伐纣时候商朝的反应就能看出来商朝一开始就没拿周当回事。那个时候武王起兵商朝的主力部队都在与东夷打仗,等于后来武王一路面对的商朝军队是杂牌军。从进军距离来看周应该算是商朝的核心大患,可如果它真的有这个实力威胁商朝,那么对于心腹大患的周,商朝怎么可能不会采取防备措施呢?同样商朝是否真的就被周武王给灭掉了呢?显然商朝对于武王伐纣表现非常不积极,不仅阵前哗变而且坐视周人灭掉了商王帝辛,那个时代交通条件周能够这么速度地推进就是一个很好说明,显然商朝内部可能是有了内鬼策应了。同样商朝其实并没有被周武王灭掉,武王攻入朝歌之后帝辛自焚而死,可是武王并没有占领朝歌而是很快就退出去了,随后为了稳住各地的势力就开始分封诸侯,分到最后实际属于周王室的地区还是偏西部地区,而不是原本殷商的中原地区。被很多人忽视的一点就是商朝也并没有灭亡,武王随后把商朝的地区分封给了帝辛的儿子武庚国号依旧是商,后来武庚灭亡之后由帝辛的兄弟继承了殷商地区,国号为宋。但是这个宋的国号其实就是商,上古时代宋与商的发音本身就是相近的,周公封微子启就封在了商丘国号其实也没有改动,因此宋就是商的另外一个称呼。同样这个宋国的地位是公爵国家,在诸侯国里是最高的,而且它不像其他的国家那样向周天子称臣,与其他几个上古三皇五帝的后裔国家一样是作为周的客人来相处的。所以总体来看武王灭商之所以那么顺利,就是本身商内部就有些不支持帝辛,正是在这样的背景下武王趁着商军主力在东部的时候突然发难,而受到内部蒙蔽的帝辛并没有认清当时的情况,等于周武王与商人是相互利用做掉了帝辛政权,并没有真正灭掉商朝,所以明明处于弱势的周才能如此顺利。