李敢死後,司馬遷繼續擔任郎中,專製帝王的鎮壓魔爪暫時還沒有延伸到他的身上。以後幾年,他經常隨漢武帝到處巡遊,尋找神仙。轉眼之間,八年過去了。
元鼎六年(公元前111年),司馬遷三十五歲了,漢武帝見他做事勤謹努力,便派他為欽差大臣,前往西南少數民族地區督察和慰撫。這是一件十分重要而艱巨的征略任務,弄不好會送命的,以往漢朝的使者在西南地區被野性未馴的夷人殺掉的不在少數。當時的未開化的西南少數民族地區,除了指今天的雲南、貴州兩省外,還包括今四川宜賓以南,成都以西以北地區,還涉及甘肅東南部、陝西西南一角。這一片地區山川縱橫交錯,地形錯綜複雜,交通極其不便,消息非常閉塞,住在那兒的少數民族被稱為“西南夷”。“西南夷”包括十多個城邦小國,都各自稱王,不受漢朝節製,其中以夜郎(今貴州省北部桐梓、遵義一帶)、且蘭(今貴州省凱裏市西北)、滇(今雲南滇池一帶)三國較大,此外還有邛(今四川西昌縣)、笮(今四川漢源縣)、昆明(今雲南大理、保山一帶)、冉(今四川茂汶縣)、斯榆(今四川天全縣)等封閉的微型小國。漢武帝從建元六年(公元前135年)起,就展開了征服這個地區的軍事、政治行動,這項行動計劃被稱作“通西南夷”,即一麵派兵討伐,一麵派文臣前往說服當地的土王、領主投降,然後設立郡治,任命漢官。這項行動到元封二年(公元前109年)最邊遠的滇國被安撫平定,才算完成,前後經曆了二十七年。
司馬遷“奉使西南”是漢武帝“通西南夷”行動的一個重要環節。在他之前,漢武帝已經先後派了番陽令唐蒙、中郎將司馬相如、博士公孫弘(後來任禦史大夫)三人出使西南夷地區,取得了相當的成果,司馬遷的任務是在他們三人已取得的成就的基礎上,做安撫當地的土王勢力、設置新的政府機構和任命新官員等工作。在司馬遷之後,漢武帝又派外交使者王然宇等去該地區,繼續完成司馬遷等未了的事情——壓服滇國歸順漢朝。
這事得從頭說起:建元六年(公元前135年),司馬遷十一歲時,漢武帝派兵平定了閩越(今福建和浙江南部一帶),隨即派出番陽令唐蒙出使南越(今兩廣和越南一帶),宣示漢朝的旨意。從秦末中原大亂以來,南越地區就在趙佗及其子孫的領導下,一直脫離中國獨立。唐蒙到了南越,才知道南越西北有個夜郎國,唐蒙回京都後,向武帝建議,如要征服南越國,軍隊由長沙、豫章(今江西南昌)坐船去,逆水難行,且行到五嶺,水路就不通了,不如先征服夜郎,得夜郎精兵,浮船牂牁江(今盤江),順水行舟,出其不意,攻打南越。武帝依允,就封唐蒙為郎中將,率領一千多名士兵,以賞賜和威嚇雙管齊下,使夜郎和其旁邊的小邑歸順了漢朝,漢朝在那兒建立了犍為郡(其治所在今四川宜賓市西南)。
唐蒙奉命開通到夜郎的道路,他征發巴郡、蜀郡的官吏士兵一千多人築路,又責令當地派出數萬人從陸路和水路轉運糧食。他製定嚴酷的軍法,稍有遲延,就用軍法處死領隊的長官,因而應征的人有的自殺,有的逃跑。巴、蜀兩郡人民十分驚恐,有騷動跡象。武帝聞知,便派郎中司馬相如去西南責備唐蒙,並發布檄文告知巴、蜀的人民,說明唐蒙的這些做法並非皇上的本意。
司馬相如是蜀人,曾用琴聲打動富翁卓王孫的女兒卓文君和他私奔,在蜀地傳為美談。此時他受武帝指派,以中郎將的身份於元光元年(公元前134年)、元光五年(公元前130年)兩次去西南活動,他同時寫了兩篇著名的檄文:《喻巴蜀檄》和《難蜀父老》,向當地百姓解釋皇上體諒百姓的用心,以消除唐蒙在當時擅自征發所造成的壞影響。他利用自己在當地的聲望,憑借三寸不爛之舌,說動古蜀國附近的邛、笮等小國歸順漢朝,漢朝在其地設十幾個縣,隸屬於蜀郡(成都)。
但因道路阻塞,從巴蜀地方給西南夷地區運送糧食給養等困難問題仍難以解決,假如前方士兵有一千人,而為他們運送供養的後勤人員倒要萬人以上;糧食要從幾千裏外運去,費十幾鍾(一鍾合六石四鬥)才能運到一石,換句話說,花費超過實效百倍。因此,駐守西南夷地區的士兵因為疲憊、饑餓、遭遇濕熱而死的人很多。後來這些西南夷小邦又漸漸不聽話,趁漢朝全力對付匈奴之機,紛紛反叛。漢朝派兵攻打,因交通不便,徒然耗費人力物力,收效甚微。武帝派博士公孫弘前往視察,公孫弘回來後,向武帝報告征伐西南夷的種種困難,說這些小邦情況複雜,君長反複無常,朝廷鞭長莫及。當時正全力在黃河邊修築朔方城堡(今內蒙的杭錦旗北)以驅逐匈奴,公孫弘被提升為禦史大夫後,他利用職務之便,多次建議停止對西南夷的討伐,理由是西南夷為害不大,最大的威脅是北方的匈奴。武帝便停止對西南夷的戰事,隻在那兒設置南夷、夜郎兩縣,派一都尉鎮撫,同時命令犍為郡太守領兵自衛,隻守不攻。