元豐八年(1085)三月,支持新法的宋神宗去世。十歲的幼子哲宗趙煦繼位,英宗妻高後以太皇太後垂簾聽政,起用司馬光為相,反變法派人物紛紛上台,政局發生逆轉。蘇軾從登州知州入京,任禮部郎中,又轉起居舍人(皇帝侍從官),二十天內連升幾級,可謂仕途順遂。然而,反變法派的高官厚祿並沒有換來蘇軾對他們的忠誠。
司馬光當政後,打起“以母(高後)改子(神宗)”的旗號,全麵廢除新法,一切回到熙寧以前的原樣。這是所謂“元佑更化”時期。
蘇軾對司馬光等人“專欲變熙寧之法,不複校量利害,參用所長”的倒行逆施,表示極大的不滿和憂慮:“深慮數年之後,馭吏之法漸寬,理財之政漸疏,備邊之計漸弛”(《辯試館職策問劄子二首》之二),將會導致不堪設想的後果。元佑元年(1086)三月,他和司馬光之間就免役法的存廢問題展開了激烈的爭論。司馬光指責免役法有使“上戶”“出錢比舊費特多”等五大罪狀,蘇軾分析說:“差役、免役各有利害:免役之害,掊斂民財,十室九空,錢聚於上而下有錢荒之患;差役之害,民常在官,不得專力於農,而貪吏猾胥得緣為奸。此二害輕重,蓋略相等。”這個分析是頗為中肯的。
但他不是不加軒輊。他接著說,免役法相當於前代的募兵製:“農出穀帛以養兵,兵出性命以衛農,天下便之。使聖人複起,不能易也。今免役之法,實大類此。”(同上)他和司馬光在政事堂(最高行政機構中書省的辦公處)爭論不休,對司馬光的頑固態度極為憤慨,“連呼曰:‘司馬牛,司馬牛!’”(蔡絛《鐵圍山叢談》卷四)九月,司馬光死,他繼續上疏“極言衙前(差役的一種)可雇不可差,先帝(神宗)此法可守不可變”(同上)。後來他還具體指出免役法對“中戶”的好處:“差役之法,天下皆雲未便。昔日雇役,中戶歲出幾何?今日差役,中戶歲費幾何?更以幾年一役較之,約見其數,則利害灼然。而況農民在官,吏百端蠶食,比之雇人,苦樂十倍。”(《宋史紀事本末》卷四三,參看蘇軾《論役法差雇利害起請畫一狀》)元佑二年(1087)蘇軾在回憶這場論爭時說:“(司馬)光既大用,臣亦驟遷,在於人情,豈肯異論。但以光所建差役一事,臣實以為未便,不免力爭”(《乞郡劄子》),說明他是從利國“便”民的原則出發的,而不是看風使舵、徇從私情。這場論爭規模不小,在一些維護免役法的人物如蘇轍、範純仁、範百祿、李常等人中,蘇軾是較為激進的一個。當時人孫升說:“若欲以軾為輔佐(宰相),願以安石為戒”,簡直把他看作第二個王安石了。
司馬光死後,蘇軾又和程頤發生矛盾。程顥、程頤兄弟是洛陽人,蘇軾、蘇轍兄弟是四川人,所以曆史上稱為“洛蜀黨爭”。當時程頤任崇政殿說書,為皇帝講書;蘇軾任翰林侍讀學士,是皇帝的侍從官,也有講書之責,官位比“說書”高。程頤講究“尊師重道”的一套“古禮”,給皇帝講書,堅持在殿上坐講,儼然以師道自居;蘇軾認為不近人情,加以譏誚。司馬光死,官員們正好參加一次明堂慶典後要去吊唁,程頤以一天之內又歌又哭,與“古禮”不合,認為不可;蘇軾嘲笑程頤“此乃枉死市叔孫通所製禮也”,於是“眾皆大笑,結怨之端,蓋自此始”。這樣看來,蘇程不和似起於細故,並不涉及國家大政的爭論,但他們的思想誌趣確有不同:蘇軾說他“素疾程頤之奸,未嚐假以色詞”(《杭州召還乞郡狀》,又見《再乞郡劄子》)。程頤指斥蘇軾有縱橫家捭闔的習氣。服膺二程的朱熹說蘇軾“他好放肆,見端人正士以禮自持,卻恐他來點檢,故恁詆訾”,又說蘇軾要“打破”程頤所奉行的“敬”字。(《朱子語類》卷一三〇)
但是,封建官場中派性傾軋的積習太深了,他們各自的門人互相攻訐,愈演愈烈。元佑元年(1086)十一月,蘇軾為試館職而出的一道試題中說:“今朝廷欲師仁祖(仁宗)之忠厚,而患百官有司不舉其職,或至於媮;欲法神考(神宗)之勵精,而恐監司守令不識其意,流入於刻”(《策問·師仁祖之忠厚,法神考之勵精》),這本來頗為準確地概括了仁宗、神宗兩朝施政方針的不同特點,但洛黨左正言(諫官)朱光庭等卻認為“謗訕先朝”而加以彈劾。後洛黨右司諫(諫官)賈易等首先以“蜀黨”之名攻擊對方。接二連三的彈劾使蘇軾又不安於朝,“二年之中,四遭口語”,“臣若不早去,必致傾危”(《乞郡劄子》),經過一再請求,他才獲準出知杭州。但洛蜀兩黨之爭,整整延續了六七年之久,給蘇軾的生活道路蒙上了嚴重的陰影。