西南夷的君長有幾十個,其中夜郎國勢力最大;夜郎西部的靡莫之夷也有幾十個,其中滇國勢力最大;滇以北的君長也有幾十個,其中邛都的勢力最大:這些夷人都將頭髮盤在頭頂梳成椎形的髻,以耕種爲生,有聚居的城池與村莊。他們以外的地方,西面從同師往東,直到北面的楪榆,稱爲嶲和昆明,這些夷國的百姓都把頭髮編起來,過著遊牧生活,沒有固定的居所,也沒有君長領導,他們的土地方圓數千里。從嶲往東北,那裡的君長有幾十個,其中徙與筰的君長是勢力最強大的;從筰都往東北,那裡的君長也有幾十個,其中冉、駹的君長勢力最強盛。他們的風俗習慣是有的是定居的土著,有的則是遷徙不定的部落,全在蜀郡的西部。從冉、駹往東北,那些地方的君長也多達幾十個,其中白馬的君長是勢力最強大的,全是氐族的同類。這些全是巴郡、蜀郡西南之外的蠻夷。
當初楚威王在位時,曾派遣將軍莊蹻率軍沿長江逆流而上,攻克了巴郡、黔中郡以西的地區。莊蹻,是已故的楚莊王的後代。莊蹻到達滇池,此地方圓三百里,滇池旁邊是幾千里平坦、肥沃富饒的田地,莊蹻依靠軍隊的威勢平定了那裡,將其劃歸楚國地盤。莊蹻正打算回楚國向楚王稟報,恰逢秦國奪取了楚國巴郡、黔中郡,前往楚國的道路被阻塞無法通行,所以他又返了回來,他憑藉自己的軍隊在滇池稱王,並改變了自己的服飾,遵從那裡的風俗習慣,統治當地百姓。秦滅六國的時候,常頞開拓領地同時開通了五尺道,並在這些國家設置官吏。十幾年後,秦朝滅亡。等到漢朝興起,將這些國家全都捨棄了,並且關閉了原來蜀郡的邊界。巴郡與蜀郡民衆中有的人偷偷出塞做生意,換取筰都的馬、僰族的僮僕與犛牛,因此巴郡與蜀郡殷實富足。
建元六年(前135年),大行王恢襲擊東越,東越人把東越王郢殺死以回報漢朝。王恢憑藉軍隊的威勢派番陽令唐蒙將漢朝出兵的意圖明確告訴給南越。南越把蜀郡盛產的枸醬拿給唐蒙吃,唐蒙詢問枸醬是從何處得來的,南越人說:「是從西北邊的牂柯而來,牂柯江有幾里寬,流經番禺城向下游流去。」唐蒙回到長安,問蜀郡商人,商人說:「唯獨蜀郡這個地方出產枸醬,當地很多人都拿著它偷偷到夜郎去賣。夜郎臨近牂柯江,江面寬數百步,足以行船。南越人想用財物使夜郎歸屬於自己,然而雖然南越的勢力向西到達了同師,但也無法像驅使臣民一樣役使夜郎。」唐蒙於是便上書勸皇上說:「南越王乘坐有黃屋車並且樹起了左纛旗,其擁有的土地從東到西多達一萬多里,名義上是個外臣,實際上卻是一州的君主。如今從長沙、豫章郡前去南越,大部分水路都被阻塞了,難以通行。我私下聽說夜郎所擁有的精銳士兵,多達十多萬,乘船順牂柯江而下,趁南越沒有防備就出兵攻擊,這是征服南越的一條奇計。如果真的能以漢朝的強大,巴郡、蜀郡的富庶,打通前往夜郎的道路,在那裡設置官吏,是非常容易的。」皇上採納了唐蒙的這個建議,於是任命唐蒙爲郎中將,帶領一千多名將士,以及負責糧食、輜重的人員一萬多人,從巴蜀筰關進入夜郎,與夜郎侯多同見面。唐蒙給了他很豐厚的賞賜,並用漢王朝的威武與恩德曉諭他,約定這裡設置官吏,讓他的兒子擔任縣令。夜郎周圍的小城邑的百姓都貪圖漢朝的絲織品,認爲通往漢朝的道路艱險難行,始終無法占領,於是就暫時接受了與唐蒙的約定。唐蒙返回稟報朝廷,於是朝廷將夜郎設爲犍爲郡。調遣巴郡與蜀郡的士兵開信道路,從僰一直修到牂柯江。蜀郡人司馬相如也進言說西夷的邛、筰也可以設置爲郡。於是皇上派司馬相如以郎中將的身份前去西夷,告諭西夷人,漢朝會像對待南夷一樣對待他們,爲他們設置了一個都尉,十多個縣,歸屬於蜀郡。
在這個時期,巴、蜀、漢中、廣漢四個郡通往西南夷的道路上,戍邊的士兵、運送物資與軍糧的人往來不斷。幾年之後,道路仍然沒有修通,士兵因疲憊、飢餓、遭受潮溼,死了很多;西南夷又多次發動叛亂,漢朝多次出兵去平定,消耗了人力、物力,卻仍然毫無效果。皇上對此事很憂慮,於是派公孫弘前去那裡調查訪問。公孫弘回來稟告皇上說開發西南夷很不方便。等到公孫弘擔任御史大夫時,當時漢朝正在修建朔方郡城,以便據守黃河驅逐匈奴,公孫弘趁機多次向皇上進言說開通西南夷的害處,希望可以暫且停止開發活動,集中力量對付匈奴。皇上於是停止了對西南夷的開發,僅在南夷的夜郎設置兩個縣與一個都尉,命令犍爲郡要保全自己並逐步完善自己的郡縣體制。
到了元狩元年(前122年),博望侯張騫出使大夏國返回以後,說他在大夏國到時候見到了蜀郡出產的布帛,邛萊山出產的竹杖,派人詢問這些東西是從哪裡而來的,回答說「這些東西來自於東南方的身毒國,那裡距離這約有幾千里遠,可以與蜀郡的商人做買賣。」有人聽說邛萊山以西約二千里遠的確有個身毒國。張騫因此趁機極力進言稱大夏在漢朝的西南方向,十分仰慕中國,正擔憂匈奴會阻塞他們通往中原的道路,假如真能開通蜀地的道路,取道身毒國既方便又近,這對漢朝有百利而無一害。於是天子派遣王然於、柏始昌、呂越人等人,走小路從西夷的西邊出發,去尋找身毒國。他們來到了滇國,滇王嘗羌把他們留了下來,並派出十多批人幫他們尋求西去的道路。一年之後,道路全被昆明國所封閉,不能通往身毒國。
滇王對漢朝使者說:「漢朝與我們滇國相比哪個大?」漢朝使者到達夜郎,夜郎侯問了同樣的問題。因爲道路不通的緣故,他們都認爲自己是一州之主,不知道漢朝的遼闊廣大。使者回到漢朝後,因此極力進言稱滇是個大國,值得讓他們親近、歸從於漢朝。天子因此而留意此事。
等到南越叛變時,皇上派馳義侯以犍爲郡的名義發動南夷軍隊。且蘭君擔心自己的軍隊走遠後,周圍的國家會趁機掠奪國中的老弱百姓,於是就與他的部衆一起反叛了,殺死了漢朝使者以及犍爲郡的太守。漢朝於是派遣原本去平定南越的八位校尉,帶領巴郡與蜀郡的犯人,前去攻打且蘭君。恰巧南越已被打敗,漢朝的八位校尉還沒有攻下且蘭,就率軍撤了回來,在回軍途中順便滅了頭蘭。頭蘭,是常常阻塞滇國與漢朝交通要塞的國家。平定頭蘭之後,接著又平定了南夷,並在南夷設置了牂柯郡。夜郎侯起初倚賴著南越,南越滅亡後,正逢漢軍返回誅殺反叛的人,夜郎於是進京朝見天子。皇上封他爲夜郎王。
南越被攻破之後,以及漢朝誅殺且蘭、邛君以及筰侯,冉、駹都很震驚恐懼,於是向漢朝請求稱臣,爲他們設置官吏。漢朝於是把邛都改爲越西郡,把筰都改爲沈犁郡,冉駹改爲汶山郡,廣漢西邊的白馬改爲武都郡。
皇上派王然於憑藉消滅南越以及殺死南夷君長的兵威曉諭滇王要進京朝見。滇王,擁有數萬人的軍隊,在他國家的東北方有勞浸與靡莫,與滇王同姓,他們之間互相依仗、扶持,不肯聽從勸諭。勞浸與靡莫多次冒犯漢朝使者與官兵。元封二年(前109年),天子調遣巴、蜀兩郡的軍隊消滅了勞浸與靡莫,大軍逼臨滇國。由於滇王從開始對漢朝懷有善意,所以沒被殺死。滇王名爲離難,率領舉國上下投降了漢朝,請求漢朝爲他們設置官吏,並進京朝見。於是漢朝把滇國設爲益州郡,賜給滇王王印,讓他仍舊統治他的子民。
西南夷的君長有幾百個,唯獨夜郎與滇的君長得到了漢朝授予的王印。滇是一個小國,最受漢朝的愛護。
太史公說:難道楚國的先祖擁有上天賜予的福祿麼?在周朝時,楚國的先祖鬻熊做過周文王的老師,被封到楚地。等到周王室衰敗時,楚國的土地號稱方圓五千里。秦國把各諸侯國都滅掉了,唯獨楚國的子孫還有滇王在世。漢朝滅掉西南夷,大多數蠻夷國都滅亡了,唯有滇王仍舊深受漢朝的尊寵。然而平定南夷的原由,則是在番禺看見了枸醬,在大夏看見了邛竹杖。後來西夷被翦滅,分成西、南兩方,最終被漢朝設爲七個郡。