<前108年初鼕,漢軍第一次在沙漠地區和再次進犯玉門關、陽關的匈奴部隊展開激戰。漢將趙破奴率數萬大軍開進西域,旋即大敗匈奴。匈奴北逃,漢軍乘勝追擊,殺到羅布泊湖畔,準備攻打姑師和樓蘭。
樓蘭轉瞬被漢軍包圍。漢軍攻得突然,樓蘭完全來不及備戰。漢將王恢率七百親兵攻進城門,樓蘭人隻得拱手相讓。漢兵衝進城中央的王宮,國王束手就擒。
樓蘭王被帶到趙破奴軍中,被迫發誓歸順漢廷,當夜把太子送至漢軍做人質。
漢軍收服樓蘭後,接著攻陷姑師,威震烏孫、大宛。次年春,漢軍退兵。
漢軍一撤出西域,伺機而動的匈奴卷土重來。樓蘭王像先前歸順漢廷那樣,被迫向匈奴誓忠,送次子做人質。
武帝在西域動過一次兵之後,便開始以武力應對西域各國。大宛拒絕漢以千金換駿馬的要求,斬了來使。武帝大怒,起兵討伐大宛。太初二前103年),李廣利率六千騎兵和數萬步卒入西域攻大宛。由於當時西域各國都拒絕供給漢軍糧食,漢軍遠征跋涉到達大宛,士兵大半忍饑挨餓。漢軍戰敗,李廣利帶領殘兵退回玉門關。武帝聞李廣利敗退,大怒,敕令“軍有敢入者輒斬之”,不許敗軍入關,李廣利由此留在敦煌。
第二年,李廣利再次率兵六萬出敦煌。這次帶了十萬頭牛、三萬匹馬,還有數萬頭驢和駱駝,武器、糧草準備充足。
李廣利大軍一過羅布泊湖畔,樓蘭就在匈奴命令下出兵騷擾其後方,漢軍立即發覺。樓蘭被駐守玉門關的漢軍包圍。當時雖有匈奴騎兵支援,樓蘭卻未能解圍,樓蘭王再次成為漢軍俘虜。
遠征軍攻打大宛捷報頻傳時,樓蘭王被送往漢都長安。遠征軍包圍大宛城,收服大宛,得到良馬數十匹、中馬三千餘匹。
樓蘭王受審時說:“樓蘭小國夾在漢與匈奴兩大國之間,違抗任何一方都無法生存,百姓困苦不堪。漢欲統治樓蘭隻有一個辦法,請準許樓蘭人全部遷往漢地。”武帝聽罷,不忍殺之,將樓蘭王送回樓蘭。
遠征大宛之後,漢在玉門關至羅布泊湖的沙漠要塞修建望樓,保護漢地至西域的通道,還在輪臺和塔裡木河畔要塞各屯兵數百。此後,樓蘭不管情願與否都歸漢管轄。征和四前89年),漢攻姑師,樓蘭受漢之命出兵參戰,與支援姑師的匈奴軍交戰,死傷慘重。
樓蘭夾在漢與匈奴之間,樓蘭王為此殫精竭慮,積勞成疾而死,王位無人繼承。兩個兒子做人質被扣留,一個在匈奴、一個在漢。在漢做人質的長子觸犯刑律被判死罪,而送往匈奴的次子音信全無。樓蘭人不得已,推選一位王親繼王位。然而新王剛剛即位,漢與匈奴又要人質,新王隻得把長子安歸送到匈奴,次子尉屠耆送到漢。
積極治理西域的武帝到了晚年,疲於財政窘迫、民心渙散和常年戰事,對西域失去了曾經的熱情。匈奴重新在西域各國出沒,逐漸擴張勢力。一度臣服於漢的各個國家此時多叛離漢廷,樓蘭也順勢遠漢而親匈奴。
樓蘭新王也因夾在兩國之間心力交瘁,在位數年即崩。匈奴將留作人質數年的長子安歸送回樓蘭繼位。安歸時年二十八歲,即位後即舉旗親匈反漢。他清楚父親和先前的國王如何苦於從屬兩國,長居匈奴使他更易親近匈奴,在匈奴還有不少朋友。
樓蘭年輕新王安歸的親匈反漢政策很快有了具體行動。即位不久,漢派使者勸新王入朝覲見,安歸拒往。不僅如此,作為匈奴陣營的一員,安歸還阻礙漢與西域各國來往,出使西域的漢使者和向漢覲見的各國使者路過羅布泊湖附近時,屢屢受到樓蘭人襲擊。
安歸即位後的幾年裡,匈奴軍隊公然出入樓蘭城內,城門內外隨時可見成群的匈奴白馬。
時值漢武帝卒,昭帝繼位。西域各國中,明確歸屬匈奴的除了樓蘭還有龜茲。龜茲也處於漢和匈奴相爭之地,和姑師、樓蘭一樣在夾縫中生存。現在,隔著大漠相望的兩個小國放棄左右搖擺,決心歸屬匈奴以保境安國。
但是,樓蘭、龜茲的這種態度早晚要遭到漢的報復,安歸也知道這一點,隻是這一天來得比他預想的還要快。