在位时，多次命诸侯征讨西戎。前824年，周宣王任命秦仲为大夫，命其带兵征讨西戎。前822年，秦仲战败身亡，周宣王召见秦仲之子秦庄公兄弟五人，给他们7000兵卒，命令其讨伐西戎。秦庄公击败西戎，周宣王封秦庄公为西垂（又称西犬丘，今甘肃省礼县境内）大夫，加封大骆西犬丘的土地。此外，晋国也多次奉命征讨西戎。前805年，晋穆侯率军攻打条戎（今山西省夏县西南）。前802年，在千亩（今山西省介休市南）战胜当地的戎族。前790年，又在汾水、隰水击败北戎。
宣王东征.淮夷是淮河、汉江一带的东夷