기원전 145년경에 태어나 기원전 90년경에 세상을 떠난 것으로 추정된다. 자(子)는 자장(子長)이며 섬서성 용문(龍門) 출신으로 아버지 사마담(司馬談)은 한 무제 때 태사령(太史令)이었다. 열 살 때 아버지를 따라 수도인 장안(長安)에 와서 동중서(董仲舒)와 공안국(孔安國)에게 학문을 배웠다. 스무 살 때 여행을 시작하여 중국 전역을 두루 돌아다녔으며 돌아온 후에는 낭중(郎中)에 올랐다. 기원전 110년 아버지 사마담이 그에게 반드시 역사서를 집필하라는 유언을 남기고 세상을 떠났다. 기원전 108년 태사령이 되어 무제를 시종했으며 천제(天帝)에 제사 드리는 봉선(封禪)에 참여하고 역법을 개정했다. 부친의 유지를 받들고자 국가의 장서가 있는 석실 금궤(石室金櫃)에서 수많은 자료를 정리하고 수집했다. 기원전 104년 정식으로 『사기』 집필을 시작했다. 기원전 99년 이릉(李陵)이 군대를 이끌고 흉노와 싸우다가 중과부적으로 투항하는 사건이 발생하였는데, 이때 사마천은 홀로 무제 앞에 나아가 이릉을 변호하다가 무제의 노여움을 샀다. 옥에 갇힌 그에게 세 가지 형벌 중에 하나를 고를 권리가 주어졌다. 첫째 법에 따라 주살될 것, 둘째 돈 50만 전을 내고 죽음을 면할 것, 셋째 궁형을 감수할 것이었다. 사마천은 두 번째 방법을 취하고 싶어 했으나 귀족이 아니었던 그가 그런 거액을 낸다는 것은 사실상 불가능했고 결국 마지막 것을 선택하게 되었다. 기원전 93년 사마천은 그의 친구 임안(任安)의 추천을 받아 무제의 곁에 있게 되었다. 이때는 『사기』의 집필이 대체적으로 마무리되는 시점이었다. 아버지의 유언을 받든 지 20년 만이었다.