至朔方筑城设防，暂时缓解了猃狁的威胁。前816年，周宣王派虢季子白率军攻打猃狁，在洛水北岸击败猃狁，斩首500人，俘获50人，解除了猃狁之患。
攻西戎之战（前822年）.周宣王还命诸侯征讨西戎。宣王四年（前824年），周宣王任命秦仲为大夫，命其带兵征讨西戎。宣王六年（前822年），秦仲战败身亡，周宣王召见秦仲之子秦庄公兄弟五人，给他们七千兵卒，命令他们讨伐西戎。秦庄公击败西戎，周宣王封秦庄公为西垂大夫，加封大骆犬丘（甘肃省天水市西南礼县一带）之地。
攻太原戎