在周昭王时,楚国大败周朝西六师;穆王时,又臣服于周,协助周师剿灭徐偃王;夷王时,熊渠封三子为王表示不臣于周;后来厉王时,他们又自己去掉王号,表示臣服;国人暴动时,楚国见周室混乱,又借机侵犯各国,扩张势力,与周朝对抗。楚国的反复无常成了周朝一直以来的心病。到了宣王时,淮夷各方国本已臣服于周,但却时不时要受楚国的压制,楚国经常会用武力夺取他们给周室的贡品。宣王即位之初,国力不足,又不断和西戎开展,因此只能放任楚国的侵扰。可是后来,西北已经平定,国家也强大了,楚国还那么无所顾忌。宣王大怒,决定举大军南征,讨伐荆楚,横扫南土。
宣王的主要功业,是取得了讨伐侵扰周朝的戎、狄和淮夷等少数民族的胜利。国人暴动时,淮夷和西戎趁火打劫,不断侵扰周朝边境。共和期间,为了稳定局势,周、召二公没有反击,只是被动地防守。于是,宣王即位后的头几年,就把主要精力放在了讨伐戎、狄和淮夷这些少数民族上。厉王时,西戎曾侵扰秦国,夺取了犬丘。于是宣王就利用西戎和秦国的矛盾,任命秦国国君秦仲为大夫,进攻西戎。不久后,宣王又命尹吉甫和南仲等伐西戎。
鉴于楚国反复无常,宣王经过深思熟虑,和大舅父申伯(宣王母亲的兄长)共同制定了“制楚谋略”,就是为了防止楚国再次反叛,确保周王朝的安全,在南面建立起一道坚固的防线。
周宣王一时心血来潮,带头破坏礼法,多次干扰鲁国国事,使鲁国遭受了一场长达二十年的混乱。周天子在诸侯们心目中的威信也就大大降低了。渐渐地,诸侯都不再听从天子的命令。
宣王到了晚年,更加蛮横无理,任意而行。他穷兵黩武,妄杀忠良,社会矛盾进一步激化,周王朝重新出现了衰象。
宣王十八年,宣王大将南仲命驹父、高父前往淮夷地区,视察当地各国的归顺情况,各方国纷纷迎接王命,表示忠心臣服,并进献贡物。宣王见各国都愿归顺周朝,便下定决心南下伐楚。
宣王充分吸取了父亲厉王的惨痛教训,即位后马上就昭告百姓:山林川泽为天下共有,即便是王室贵族也不能独占;处理政事时,会与大臣们商议,绝不独断独行。另外,他还广泛选举贤能,得到了仲山甫、方叔、尹吉甫等贤才,再加上有周、召二公辅政,使宣王的统治有了坚实的后盾。在他的整顿下,已衰落的周朝出现了一时的复兴。
至此,周朝稳定了西北,又在东南建立起一道屏障,周宣王还勤于政事,鼓励发展生产,使周朝重新出现了全盛局面,史称“宣王中兴”。
这次南征的主将是周室支柱之一的召穆公,副将为大将方叔。方叔率兵车三千为前锋,召穆公的大军得到了沿途各诸侯的鼎力相助,周军势如破竹,一路南下。战前,方叔对作战方略进行了周密的部署:以金、鼓为信号,将全军纳入统一指挥,从而使军威严整。大军声势浩大,再加上统一作战,终于打败了楚军,召穆公大军深入楚境。楚国这次损失惨重,无力再战,不得不沿荆山山脉南迁,并表示愿意臣服周室。
宣王五年,宣王亲征,与尹吉甫一起征伐西戎。尹吉甫率师直攻至太原(今甘肃镇原一带),使得西戎不得不往西北方退去。这次战争后,宣王让尹吉甫带着军队转战东南,到成周管理各诸侯国朝贡的财物。西周征伐西戎的战争,大大震慑了淮夷诸国,他们纷纷表示愿意臣服,每年带着布帛、粮草和人丁等贡品前来朝贡。
但是,这种中兴的局面没有维持多长时间。宣王在位46年,南征北战,虽然扩大了西周的疆域,但也耗费了大量人力、物力、财力,造成了国家的衰败。早年,他还可以励精图治,使周室重振,可是连年征战取得了一连串的胜利,宣王渐渐变得固执己见,且非常偏激。鲁武公带着两个儿子到镐京去朝拜周天子时,宣王见鲁武公的小儿子姬戏年幼可爱,就突发异想,硬要鲁武公废掉长子姬括,而立姬戏为鲁国太子。宣王凭着一时的好恶干涉鲁国选立继承人,严重违反了周朝的嫡长子继承制度,给鲁国埋下了战乱的祸根,同时也引起了诸侯们对宣王的不满。当时虽然公卿樊仲山父一再地劝谏宣王,但此时宣王已忘了当年与大臣们共议国政的承诺,仍旧一意孤行。后来鲁武公去世,姬戏继承了王位,成为鲁懿公。
鲁懿公在位第九年的时候,战乱终究还是爆发了。懿公的哥哥姬括的儿子姬伯御,攻向鲁懿公,并杀了懿公自立为王。听到这个消息,周宣王大怒,觉得鲁国忤逆天子的命令,在伯御即位十一年的时候,带兵讨伐鲁国,杀了伯御,立鲁懿公的弟弟姬称做了国君,是为鲁孝公。伯御成了被废弃的国君,因此被称为鲁废公。
在讨伐西戎的同时,宣王命召穆公及卿士南仲、大师皇父、大司马程伯休父等率军征伐侵犯江汉地区的淮夷,大军沿着淮水一路向东,沿途施惠于民,从而让人们心向西周,并降服了东南大小方国中最强大的徐国,徐国表示愿意朝贡。
宣王六年,在与西戎作战时,秦仲被杀。秦仲的长子即位,是为秦庄公,宣王命秦庄公兄弟五人带七千人马再次讨伐西戎,最后终于取得了胜利。宣王封秦庄公为西垂大夫,夺回了犬丘。后来,宣王再次亲率大军讨伐西戎,双方战于彭衙(今陕西澄域西北),周军取得了决定性的胜利。这次之后,西戎数年不敢再犯。
宣王继续沿用西周早年的分封制,分封了众多诸侯到南部地区建立侯国,在南方建立起一个庞大的诸侯国集团。这些诸侯几乎都是姓姬的王室成员,这样就在楚国和周朝之间建立了一道屏障,如果楚国再次叛周,兴兵北上,这些诸侯国则可以联手抵抗楚国,阻止楚军。这些被分封的王室成员,当时被称为“汉陽诸姬”,另外,有些早年就分封的国家也被列入了“汉陽诸姬”的范围。
共和十四年(公元前828年),周厉王死在彘地,此时在召公家的太子姬静已经长大成人。周、召二公决定立姬静为王,还政于他。第二年,姬静登位,成为周朝第十一位王,是为周宣王。