宋仁宗用于赠送、赏赐的东西,价值竟达百余万。司马光率领同僚三次上书,劝谏说:“国家还有大的忧患,内外贫乏,不可专门效仿乾兴的旧事。如果必须赠送、赏赐,应准许大臣向上进献所得赏赐金钱来帮助营建山陵。”皇上没有答应。司马光便把皇上赏赐的珠宝作为谏院的办公费,黄金送给舅家,坚决不肯自己留在家里。皇后归政后,有关部门制订法律,规定皇后想要的东西,要上奏两次才供给。司马光说:“应该转交给有关的部门来负责供给,并要如数告诉皇后,防止有人从中作弊。”
曹佾没有什么功劳被任命为使相,两府都升官。司马光说:“皇帝陛下想要慰藉母亲的心,而提拔无名之辈,这样守卫的老将、侍奉的小臣,一定会有所希冀。”不久,又晋升都知任守忠等官员,司马光又争辩,他议论说:“任守忠是个大奸臣,陛下被立为皇子,也不是任守忠的意思,他阻止和破坏重大决策,破坏各种事情,幸好先帝没有听从;等到陛下继承皇位后,他又多次干坏事,是国家的大贼。请将斩首于都市,以答谢天下。”由于他的这一议论,任守忠被贬为节度副使,让他到蕲州,天下人对此都感到高兴。
皇上下诏征发陕西义勇二十万人,百姓为此惊扰,而且这些人纪律混乱,根本就不能任用。司马光慷慨激昂地加以评论,把情况告诉韩琦,韩琦说:“用兵贵在先声夺人,谅祚现在正桀骜不训,如果他听说一下增兵二十万,难道不会感到震惊害怕吗?”司马光说:“用兵之所以贵在先声夺人,是因为这毕竟不真实,仅可以欺骗一时罢了。现在我们虽然增兵,实际上这些兵不堪用,不超过十天,他们就会知道我们的实情,人家还会有什么可怕的呢?”韩琦说:“你只看到庆历年间乡兵打了胜仗,担心现在又会像那样,现在已下圣旨与百姓约定,永远不再充军防守边防。”司马光说:“朝廷曾经失信于民,老百姓不会相信,即使我司马光也不能不怀疑。”韩琦说:“我在这个位置上,你不要有忧虑。”司马光说:“您在这里,可以这样,他日别人处在这个位置,因为公事征兵,招兵运粮、守边,这些都是易如反掌的事。”韩琦不再作声,可事情也就这样了,也并没有停止老百姓的兵役。还不到十年,就都像司马光所忧虑的情形了。
王广渊被安置到集贤院,司马光认为他奸邪不可亲近,说:“过去汉景帝重用卫绾,周世宗不看重张美。王广渊在仁宗在世时,私自结交陛下,难道可以说是忠臣吗?应该贬黜他,以严肃天下。”不久司马光被提升为龙图阁直学士。
宋神宗即位后,司马光又被提拔为翰林学士,司马光极力推辞。皇帝说:“古时候的君子,有的有学问而不写文章,有的写文章而无学问,只有董仲舒、扬雄二者兼之。你有文章、学问,为什么要推辞呢?”司马光回答说:“我不能作四六骈体文。”皇帝说:“就像两汉的诏书就可以了;何况你能在进士考试中获得很高名次,却说不能作四六骈文,这是为什么?”终究推辞不掉。
御史中丞王陶因为议论宰相不值日而被罢官,让司马光代替他。司马光说:“王陶由于议论宰相被罢免了官职,那么御史中丞我现在不能担任。我希望等到宰相值日后,再来就职。”他的话被答应了。他又上书谈论修心的三个要领:仁、明、武;治国的三个主要问题:任人、信赏、必罚。他的议论十分周详。他还说:“我事奉三朝皇帝,都以这六句话为中心进献忠言,我一生努力学习所获得的,都在这里。”他任音乐院内臣,宋朝常常任用供奉官以下的官吏,调到内殿做一段时间的领班就调出去了;但近年有的官吏暗中领取国家财物,这不是祖宗的本意。因此,司马光议论说高居简是奸邪之人,请求疏远和流放他。他接连上了五次奏章,皇帝终于罢黜了高居简,并全部罢免了那些转寄资财为自己牟取私利的人,后来留下二人,司马光又极力抗争。张方平担任参知政事,司马光说他与众望不符,皇帝没有听从。但继续让他担任翰林兼侍读学士。
司马光常常忧虑历代史书繁浩,君主无法全部浏览,于是他撰写《通志》八卷,呈献给皇上。英宗看了十分高兴,下令置局秘阁,让他继续写这部书。宋神宗并赐名为《资治通鉴》,还为这部书亲自撰写《序》,让人每天为他进读。
朝廷下诏录用颍邸直省官四人为閤门祗侯,司马光说:“朝廷在刚建立的时候,大政施展困难,所以必须使用左右旧人作为心腹耳目,把他们叫做随龙,但这并不是平时的常法。閤门祗侯在文臣是馆职,怎么可以让服役的仆人担任呢?”