公元前145年(汉景帝中元五年),生于龙门。
公元前140年(汉武帝建元元年),6岁,父亲司马谈任太史令。《太史公自序》:“谈为太史公,仕于建元元封之间。太史公既掌天官,不治民。”
公元前136年(汉武帝建元五年),10岁,在夏阳耕读。《太史公自序》:“耕牧河山阳,年十岁,则诵古文。”
公元前135年(汉武帝建元六年),11岁。窦太后死,汉武帝罢黜黄老之言,发动尊儒。
公元前134年(汉武帝元光元年),12岁。是年董仲舒上“天人三策”。汉武帝罢黜百家,独尊儒术。司马迁时在夏阳耕读,时在长安求学。
公元前127年(汉武帝元朔二年),19岁,从夏阳迁居长安。从孔安国学《尚书》,从董仲舒学《春秋》。孔安国为侍中。
公元前126年(汉武帝元朔三年),20岁,开始外出游历,回长安后,为汉武帝近侍郎中,随汉武帝到过平凉、崆峒,又奉使巴蜀。
公元前110年(汉武帝元封元年),36岁。汉武帝封禅泰山,司马谈病死洛阳。司马迁到泰山参加封禅。
公元前108年(汉武帝元封三年),38岁,正式做太史令,一边整理史料,一边参加改历。
公元前104年(汉武帝太初元年),42岁,《太初历》完成,开始编写《史记》。
公元前99年(汉武帝天汉二年),47岁,汉武帝攻打匈奴,骑都尉李陵投降。司马迁为其辩护,下狱,遭宫刑。(不过《史记》一半左右都是在他入狱的时间中完成的)
公元前96年(汉武帝太始元年),50岁,汉武帝改元大赦。司马迁出狱后当了中书令。
公元前91年(汉武帝征和二年),55岁,《史记》全书完成。