趙充國按既定方針先打先零羌。先零羌因為長時間屯聚,鬆懈麻痹,見到漢朝大軍來襲,紛紛棄輜重而逃。趙充國認為,逃跑的先零羌是“窮寇不可迫也。緩之則走不顧,急之則還致死”,因此命令部隊“徐行驅之”。結果,先零羌逃亡渡湟水時溺死數百,投降及被斬的500餘人,其餘七、八千人平安逃過湟水。罕、稈等部落首領見漢軍篤守信義,沒有對他們采取軍事行動,遂親自到漢營投誠和好。
湟中捷報傳入京城,宣帝下令讓破羌將軍辛武賢作為趙充國的副手,“急應天時大利,吏士銳氣以十二月擊先零羌”。這時,先零羌在漢軍的政治瓦解和軍事打擊下,內部出現分歧,已有萬餘人投降漢軍。趙充國判斷先零羌必然會衰敗,因此想改變策略,罷騎兵,屯田備邊。他把此想法寫成奏文,尚未呈送宣帝,便接到宣帝進攻的命令。他兒子、中郎將趙印十分擔心,派使者勸說其父不要堅持自己的主張,趕快執行皇帝的命令,否則“一旦不合上意,遣繡衣(禦史)來責將軍,將軍自身不能自保,何國家之安?”趙充國聽了非常生氣,說:“我拚死堅持自己的主張,對皇帝是可以忠言相勸的。”
趙充國毅然向皇帝呈送奏章,闡明為什麼罷騎兵,以步兵屯田備邊。他說:我所統領的吏士及馬牛,月用穀物19,9630斛、鹽1693斛、幹草25,0286石,全靠內地轉輸,戰事不解決,征稅、勞役就不會停止。罷除騎兵,隻留下步兵1,0281人,月用穀物為2,7363斛、鹽308斛。這些步兵分屯要害處,農耕季節每人耕作20畝田。這樣可以益積蓄,省大費。宣帝看過奏章後下詔詢問趙充國:罷騎兵以步兵屯田,敵人什麼時候可以打敗?戰爭什麼時候可以結束?
趙充國第二次呈送奏章,說:帝王用兵,要作好全麵準備去爭取勝利,因此貴在運用謀略而減少交兵作戰。班師罷兵,萬人屯田,順天時,因地利,戰爭可望在一年內結束。他還陳述了屯田的十二點好處。概括起來說,在軍事上,萬人屯田以作武備,以逸待勞,“坐得必勝之道”;在政治上,威德並行,既可以分化敵人,又可以減輕國內民眾徭役,使“居民得並田作,不失農業”;在經濟上,屯田士卒糧食可以自給,“省大費”。總之,屯田內有不花錢之利,外有防禦之備,是個不打仗而使敵人自己消亡的計策。宣帝看過第二次奏章後又詔問趙充國:現在先零羌仍不斷騷擾邊境,怎麼才能製止住呢?大稈、小開對漢朝尚有疑慮,他們會不會與先零羌聯合起來?
趙充國第三次呈上奏章,說:現在,先零羌精兵不過七、八千人,失地遠逃,分散饑凍。罕、秤、莫須等部落力量很弱,且歸順漢朝的人絡繹不絕。至於小股流竄的羌兵襲擾邊民,這是不能立即阻止的。如果因此而大動幹戈,那是“釋(放棄)坐勝之道,從乘危之勢,往終不見利,空自罷敝(疲憊)”。
趙充國每次呈送奏章,宣帝均召集公卿議論。開始,同意趙充國屯田備邊建議的有十分之三;中間,同意的有一半;最後,同意的占十分之八。丞相魏相說:“臣愚,不懂兵事利害。後將軍趙充國一再提出軍事策略,講的都是正確的。我相信他的計謀一定能成功。”於是,宣帝批準了趙充國屯田備邊計策。
趙充國屯田備邊收到了預期效果,穩定了漢朝西部邊境局勢,加速了先零羌的瓦解。宣帝神爵二年(公元前60年)秋天,先零羌首領被其他種族的羌人所殺,殘餘的先零羌兵4千人降漢。先零羌侵擾漢朝邊境問題得到根本解決。西北地區民族矛盾得到緩和,大片荒地得以開發利用。
趙充國凱旋回京後,請求罷去官職,宣帝批準他退休。但朝廷議論民族關係大事時,常讓他參與謀略。甘露元年(公元前52年),趙充國病逝,終年86歲。宣帝因趙充國功高蓋世,把他的像畫在未央宮內。