其夏,漢亡浞野之兵二萬余於匈奴,公卿議者皆願罷宛軍,專力攻胡。天子業出兵誅宛,宛小國而不能下,則大夏之屬漸輕漢,而宛善馬絕不來,烏孫、輪台易苦漢使,為外國笑。乃案言伐宛尤不便者鄧光等。赦囚徒扞寇盜,發惡少年及邊騎,歲余而出敦煌六萬人,負私從者不與。牛十萬,馬三萬匹,驢、橐駝以萬數齎糧,兵弩甚設。天下騷動,轉相奉伐宛,五十余校尉。宛城中無井,汲城外流水,於是遣水工徙其城下水空以穴其城。益發戍甲卒十八萬酒泉、張掖北,置居延、休屠以衛酒泉。而發天下七科適,及載□給貳師,轉車人徒相連屬至敦煌。而拜習馬者二人為執驅馬校尉,備破宛擇取其善馬雲。
於是貳師後複行,兵多,所至小國莫不迎,出食給軍。至輪台,輪台不下,攻數日,屠之。自此而西,平行至宛城,兵到者三萬。宛兵迎擊漢兵,漢兵射敗之,宛兵走入保其城。貳師欲攻郁成城,恐留行而令宛益生詐,乃先至宛,決其水原,移之,則宛固已憂困。圍其城,攻之四十餘日。其外城壞,虜宛貴人勇將煎靡。宛大恐,走入中城,相與謀曰:「漢所為攻宛,以王毋寡。」宛貴人謀曰:「王毋寡匿善馬,殺漢使。今殺王而出善馬,漢兵宜解;即不,乃力戰而死,未晚也。」宛貴人皆以為然,共殺王。持其頭,遣人使貳師,約曰:「漢無攻我,我盡出善馬,恣所取,而給漢軍食。即不聽我,我盡殺善馬,康居之救又且至。至,我居內,康居居外,與漢軍戰。孰計之,何從?」是時,康居候視漢兵尚盛,不敢進。貳師聞宛城中新得漢人知穿井,而其內食尚多。計以為來誅首惡者毋寡,毋寡頭已至,如此不許,則堅守,而康居候漢兵罷來救宛,破漢軍必矣。軍吏皆以為然,許宛之約。宛乃出其馬,令漢自擇之,而多出食食漢軍。漢軍取其善馬數十匹,中馬以下牝牡三千餘匹,而立宛貴人之故時遇漢善者名昧蔡為宛王,與盟而罷兵,終不得入中城,罷而引歸。
初,貳師起孰煌西,為人多,道上國不能食,分為數軍,從南北道。校尉王申生、故鴻臚壺充國等千餘人別至郁成,城守不肯給食。申生去大軍二百里,負而輕之,攻郁成急。郁成窺知申生軍少,晨用三千人攻殺申生等,數人脫亡,走貳師。貳師令搜粟都尉上官桀往攻破郁成,郁成降。其王亡走康居,桀追至康居。康居聞漢已破宛,出郁成王與桀,桀令四騎士縛守詣大將軍。四人相謂「郁成,漢所毒,今生將,卒失大事。」欲殺,莫適先擊。上□騎士趙弟拔劍擊斬郁成王。桀等遂追及大將軍。
初,貳師後行,天子使使告烏孫大發兵擊宛。烏孫發二千騎往,持兩端,不肯前。貳師將軍之東,諸所過小國聞宛破,皆使其子弟從入貢獻,見天子,因為質焉。軍還,入玉門者萬余人,馬千餘匹。後行,非乏食,戰死不甚多,而將吏貪,不愛卒,侵牟之,以此物故者眾。天子為萬里征伐,不錄其過,乃下詔曰:「匈奴為害久矣,今雖徙幕北,與旁國謀共要絕大月氏使,遮殺中郎將江、故雁門守攘。危須以西及大宛皆合約殺期門車令、中郎將朝及身毒國使,隔東西道。貳師將軍廣利征討厥罪,伐勝大宛。賴天之靈,從溯河山,涉流沙,通西海,山雪不積,士大夫徑度,獲王首虜,珍怪之物畢陳于闕。其封廣利為海西侯,食邑八千戶。」又封斬郁成王者趙弟為新畤侯;軍正趙始成功最多,為光祿大夫;上官桀敢深入,為少府;李哆有計謀,為上党太守。軍官吏為九卿者三人,諸侯相、郡守、二千石百餘人,千石以下千餘人。奮行者官過其望,以適過行者皆黜其勞。士卒賜直四萬錢。伐宛再反,凡四歲而得罷焉。
後十一歲,征和三年,貳師複將七萬騎出五原,擊匈奴,度郅居水。兵敗,降匈奴,為單于所殺。語在《匈奴傳》。
贊曰:「《禹本紀》言河出昆侖,昆侖高二千五百里餘,日月所相避隱為光明也。自張騫使大夏之後,窮河原,惡睹所謂昆侖者乎?故言九州山川,《尚書》近之矣。至《禹本紀》、《山經》所有,放哉!」