司馬遷又西南行至陳(今河南淮陽縣),這是戰國楚地,春申君黃歇的城池和宮室還完好地保存著。司馬遷參觀了這座古城、憑吊了古人之後,便由此往西北至大梁(今河南開封市),這是戰國魏的都城。在這裏,司馬遷從當地人中了解到魏國滅亡的最後一幕:“秦之破梁,引河溝而灌大梁,三月城壞,王請降,遂滅魏。”(《魏世家》)由魏的滅亡,司馬遷聯想到對魏的存亡起過舉足輕重作用的信陵君。於是便遍訪關於信陵君的舊事軼聞。信陵君的故事中最為精彩的就是執轡迎夷門監者侯贏。司馬遷在《魏公子列傳》中記述了他的見聞:“吾過大梁之墟,求問其所謂夷門。夷門者,城之東門也。天下諸公子,亦有喜上者,然信陵君之接岩穴隱者,不恥下交,有以也;名冠諸侯,不虛耳;高祖每過之,而令民奉祠不絕也。”司馬遷壯遊便告一段落,然後回長安。
司馬遷返回長安以後,被選到朝廷裏當了郎中,郎中是漢朝宮廷內部官僚機構中一個很低的官職,據《漢書·百官公卿表》所載,“郎中有車、戶、騎三將,秩皆比千石”。其職責是“掌守門戶,出充車騎”,即皇帝在宮廷時,他們守衛宮門,出巡時,又侍從車駕。可見,郎中地位雖然不高,俸祿不多,卻能接近皇帝,容易受到寵幸。在當時,這一職務還頗有吸引力,一度成為富貴子弟競相追求的美差。在漢朝仕為郎中的途徑很多,但主要渠道有三條:一是父親官階二千石,可以把兒子選送去;二是富可以家貲獲得;三是可以先補博上弟子員,再經過考試,成績優異者可為郎中。司馬遷的父親是太史令,官階六百石,家境也不富裕,司馬遷不可能通過前兩條途徑仕為郎中,司馬遷是作為優秀青年,先經過博上弟子員,成績又考得好,才得任郎中的。從一個地位“近乎卜祝”之間的史官兒子,通過自己的努力,成為皇帝的近侍,司馬遷當初的確感到十分榮幸。
司馬遷做郎中後,經常侍從漢武帝。元鼎五年(公元前112年),司馬遷24歲,隨武帝巡行,西至空峒(今甘肅平涼縣西)。他借此時機,經過實地考察,訪問老人,把從書本中得到的關於黃帝的傳說重新核實了一遍。他在《史記·五帝本紀》的“太史公曰”中記錄了此事:
“學者多稱五帝,尚矣。然《尚書》獨載堯以來;而百家言黃帝,其文不雅馴,薦紳先生難言之。孔子所傳宰予問《五帝德》及《帝係姓》,儒者或不傳。餘嚐西亞空峒,北過逐鹿,東漸於海,南浮江準矣,至長者皆各往往稱黃帝、堯、舜之處,風教固殊焉,總之不離古文者近是。”
由此可見,這次空峒之行,司馬遷雖為侍從,但他一刻也沒忘記搜尋和印證史料,以完成他父親的遺命。司馬遷空峒之行的次年,即元鼎六年(公元前111年),又奉命出使巴、蜀和滇中,這年他才25歲。這次奉命西征,是代表漢王朝去視察和安撫西南地區各少數民族的,他在《自序》中提到了這次使命的始末:“奉使西征巴、蜀以南,南略邛、笮、昆明,還報命。”司馬遷此行,是西漢王朝與西南夷關係史上的一件大事。早在元光五年(公元前130年),那時司馬遷才6歲,漢武帝命唐蒙為將,率兵千人,從巴(今重慶一帶)蜀(今成都一帶)筰關(今四川西南漢源縣)分道入夜郎國(其中心是今貴州北部桐梓),夜郎附近小邑因而歸漢,漢遂建立了犍為郡,就是今天的四川宜賓。當時為了經營西南,漢朝曾動員了數萬巴蜀之地的人民,修築從宜賓到貴州北盤江(當時稱牂柯)的道路,巴蜀人民不堪如此重負,紛紛逃亡,甚至有釀成民變的可能。漢武帝見僅靠武力鎮壓不能奏效後,便派司馬相如前去安撫,推說此前的做法隻是唐蒙等人的私意而已,朝廷本無心這樣做,這才平息了眾怒。司馬遷的這次西南之行,比他的前輩走得更遠了一些,不但到了巴蜀以南,邛笮(今西昌一帶)之地,而且到了昆明。這次奉使是從元鼎六年啟程,到元封元年(公元前110年)春回來的,時間不滿一年。這次的西行路線,是南出漢中,經過巴郡,到了犍為郡,再到牂柯郡。由牂柯郡轉到蜀郡,經零關道,到越巂郡(今西昌一帶),最後抵沈犁郡(今四川漢源一帶)。司馬遷的這次奉使,不僅圓滿地完成經略西南的任務,還充分利用這次機會,對西南地區的地理形勢和物產狀況以及各族人民的風俗習慣作了詳細的觀察和了解,這為他後來寫《西南夷列傳》和《貨殖列傳》提供了豐富的材料。
漢武帝元封元年(公元前110年),為了顯示自己的功業,決定到泰山舉行封禪大典。漢武帝此次封禪的規模空前宏偉,在封禪之前,他親自統率12部將軍共18萬騎兵,從雲陽(今陝西淳化縣之甘泉)北上,一路上旗旗招展,經上郡(今陝西綏德縣)、西河(今內蒙鄂爾多斯左翼前旗)、五原(今內蒙五原縣)等郡,越過長城,登上單於台,把匈奴威脅了一番。遂後又回到了橋山(今陝西中部縣西北),在那裏祭祀了黃帝塚,然後回到雲陽,這是元封元年冬十月的事。到了這年的春天正月(當時曆法以十月為歲首),這支龐大的隊伍才又東下,去泰山正式封禪。身為太史令的司馬談也隨從東行,但在到了洛陽的時候,司馬談卻病倒了。這時司馬遷剛剛從西南出使歸來,尚未見到武帝,便急忙趕到洛陽探視父親。司馬談在彌留之際,囑咐年時26歲的司馬遷要繼承祖業,著史立說,“揚名於後世,以顯父母”。司馬遷含淚接受了父親的遺命後,因為職務的關係,便匆忙離開了洛陽,去追趕漢武帝的封禪隊伍,扈從東行。漢武帝到了山東,先東巡海上。於這一年的四月才由海上到了泰山,開始正式封禪。因為封禪使司馬遷有機會侍從武帝東巡海上,這便加深了他對齊地風土人情的了解,他說: