宋真宗天禧三年(1019年)十月十八日,司马光出生于光州光山,此时其父司马池任光山县令,所以给他起名光;六岁时,司马池就教司马光读书,七岁时,不仅能背诵《左氏春秋》,还能讲明白书的要意;
宝元元年(1038年),司马光二十岁,他参加了会试,一举高中进士甲科,从此步入仕林,初任华州(今陕西华县(判官。此时司马池正任同州(今陕西大荔)知州,两地相距较近,司马光经常前往探望父母。在同州他结识了同科进士石昌言,石早有才名,在同州当推官,虽比司马光大二十多岁,但两人很谈得来,经常在一起交流学问,谈古访今,成为忘年之交。同年,他和张存的女儿结婚。
司马光在第二次回朝为相期间,辑录《国语》的精要,编成《徽言》一书。又将《历年图》和《百官公卿表》增补、总辑为《稽古录》一书,形成一部“略存体要’’的简明通史,又负责将《资治通鉴》进行了最后的校定。
元祐元年(1086年)九月初一,司马光因病逝世,享年六十八岁,获赠太师、温国公,谥号文正,宋哲宗赐碑名为“忠清粹德”。死后,哲宗将他葬於高陵。灵柩送往夏县时,京城的人们罢市前往凭吊,有的人甚至卖掉衣物去参加祭奠,街巷中的哭泣声超过了车水马龙的声音。等到安葬的时候,哭的人非常真诚,仿佛是在哭自己的亲人。岭南封州的父老们,也都纷纷祭奠司马光,京城及全国各地都画他的像来祭祀他,吃饭前一定要先祭祀他。