由于北宋的财政状况日益困窘,举步维艰,宋神宗采纳了王安石的建议,进行变法,这就是“熙宁变法”。
司马光作为大臣,坚持自己的观点,当他发现改革可能会给国家带来巨大的灾难时,他开始用激烈的言词弹劾王安石;而作为好朋友,他又三次给王安石写信,劝谕王安石不可“用心太过,自信太厚”,借此“以尽益友之忠”。王安石在与宋神宗的谈话中,力排司马光的非议;但对这位好友,又“赐之诲笔,存慰温厚”。眼见无法改变局面,又与王安石因变法之事绝交,司马光坚辞枢密副使,离开权力中心,来到当时的文化中心洛阳专心修史。
司马光为官清廉,他的薪俸大多周济了穷困的亲朋,个人生活十分俭朴,到了洛阳后,居住条件更是十分简陋。为了修史不受天气的影响,司马光想了个办法,在室中挖了地窖,以砖砌成地下室居住。当时,北京留守王宣徽在洛阳园宅甲天下,中堂起屋三层,飞檐走兽,气势恢宏。因此,洛中便有了“王家钻天,司马入地 ”的谑语。为了编《资治通鉴》,司马光倾注了大量心血,不但白天勤奋写作,晚上也很少休息,常写到半夜才睡觉,不到五更又起来继续工作。司马光怕自己晚上睡得太死,于是就用一段圆木做了个枕头,夜里只要一翻身,圆木枕头就会滚动,他就会惊醒,可以马上起来读书写作。司马光年老时,友人刘蒙打算用50万钱请婢女侍奉他,但他回信谢绝:“吾几十年来,食不敢常有肉,衣不敢有纯帛,多穿麻葛粗布,何敢以五十万用一婢乎!”
虽然王安石与司马光的关系破裂,但两人互相保持着对对方人格的敬重。一个反对新法的官员死后,司马光为其作墓志铭,其中有讽刺变法的话。有好事者将这个墓志铭献给王安石,以为后者会迁怒于司马光。不料,王安石却将铭文挂在墙上,向其门下士赞曰:“君实之文,西汉之文也。”而司马光在洛阳记述宋朝历史时,也能对王安石作客观评价。
王安石变法志在清除社会积弊,但是由于用人不当,出现了一些危害百姓的现象,更主要的是,新法在一定程度上触犯了大地主大官僚的利益,遭到反对。几年之后,王安石被自己最亲信的助手出卖,接着,又遭遇了家庭的变故。他毅然捧还相印,归隐江宁谢家墩。不久,司马光被重新起用。他将新法改革措施一一废除。新法遭到重大挫折的消息,加剧了王安石背上的疮毒,使他倏然而逝。司马光得知王安石逝世的消息后,深为悲憾,他写道:“介甫文章节义,过人处甚多……不幸介甫谢世,反复之徒必诋毁百端。光意以谓朝廷宜优加厚礼,以振起浮薄之风!”根据司马光的建议,王安石被追赠正一品荣衔——太傅。
王安石和司马光都有着磊落的襟怀,他们有着深厚的友谊,各项重大的分歧,都以维护宋王朝为出发点,毫不涉及个人的利害冲突。用司马光的话说,“光与介甫,趣向虽殊,大归则同。”王安石也承认,他们“议事每不合,所操之术多异故也。”王安石与司马光的恩恩怨怨正如宋人冯澥所说:“王安石、司马光,皆天下之大贤。其优劣等差,自有公论。”