由於王允一直又沒有向張讓賠罪認錯,張讓又進一步渲染他的所謂的罪行情節。不久,王允的案件被提審,王允的手下官員和朋友以及朝中許多官員都十分著急,想製止張讓對王允的陷害。大將軍何進、太尉袁隗,司徒楊賜聯名向皇帝上書,替王允求情,希望皇上能夠赦免王允。他們在奏章中寫道:王允嚴於律己,寬以待人,為官盡忠盡誠,寬宏賢能,具有君子的風範和氣節。過去晉悼公和先朝孝文皇帝能明辨是非,赦免大臣的罪行,陛下就不能仿效嗎?如此王允受命於朝廷,誅討逆賊,安撫良民,本應論功行賞,加官進爵;難道就因如此微不足道的小事情,就定他死罪嗎?陛下如此不公平地給予他處罰,恐怕有負眾望,百官有所不服吧。”靈帝劉宏看完奏章後,便赦免了王允的死罪,但仍下獄重新定罪。這年冬天,又逢朝廷大赦。由於張讓始終從中作梗,王允仍不在赦免之列。何進、袁隗、楊賜等三公要員繼續上書皇上,要求赦免王允。等到第二年,王允才被免罪釋放。當時,朝中宦官當權,張讓閹黨憑借權勢橫行霸道,為所欲為。剛剛出獄的王允雖對張讓等人的行徑深惡痛絕,但因力量有限,隻得改名換姓,離開都城洛陽,輾轉於河內、陳留之間。

不久靈帝駕崩,王允急忙趕赴洛陽吊喪。此時,朝廷局勢極度混亂,以何進為首的外戚勢力大增,閹黨張讓失去了對中央政權的控製權,麵臨覆滅的危險。大將軍何進利用各地方官吏奔喪的機會,大肆結交和拉攏親己勢力,以謀張讓。王允一到洛陽,就被何進緊急召見,並說明意圖。王允很感激何進對他的救命之恩,便滿口答應,並擔任從事從郎一職。後來情況發生急變,張讓集結黨羽,用何太後召見何進的名義把何進騙入宮中,趁機伏殺。王允不得不遷任河南尹,暫時逃避張讓的囂張氣焰。張讓伏殺何進後,曾奉密召的董卓、袁術等人立即領兵進京,討殺張讓。張讓、段掛等人挾持少帝劉辯和陳留王劉協半夜出逃。當時,朝中公卿大夫被急變的局勢嚇得不知所措,他們都不敢護衛少帝。王允立即派遣一部分士兵跟隨尚書盧植一起保護少帝,事後,又奉迎少帝回宮。

中平二年(公元190年),董卓廢掉少帝,獻帝劉協繼位,王允被拜為太仆,不久遷任尚書令。初平元年(191年),王允替代楊彪擔任司徒職務,同時兼任尚書令。

王允擔任司徒,可謂是受命於危難之秋。獻帝登極後,外戚、宦官鬥爭仍在繼續,黃巾軍起義風起雲湧,如火如荼,各地割據豪強也趁機發難,借討宦官為名,紛紛問鼎中央政權,整個東漢政權危機四伏,動蕩不安。麵對如此國將不國的尷尬局勢,王允毅然承擔起恢複和革新東漢政權和社會的重任,沒有絲毫退縮和畏懼。為了穩定政局,消除混亂,王允和朝中其它忠臣良將一道出謀劃策,重新樹立皇帝的絕對權威。

董卓在進駐洛陽過程中,迎立少帝,挾天子以令諸侯。進駐洛陽後,董卓又多次赤裸裸地表現出對權力的貪婪欲望。他廢舊立新,毒殺太後,廣植黨羽,培養親信,統收兵權,控製朝廷。從董卓的種種倒行逆施中,王允已經敏銳地意識到他將成為威脅東漢政權的最大隱患,必須采取必要措施遏製和除掉董卓。可是,董卓手中掌握有強大的軍事力量,黨羽眾多,而且董卓本人凶殘毒辣,如果主動出擊,隻能是以卵擊石。於是,王允表麵上一味聽任,甚至順從董卓,讓他放鬆對自己的戒備,實際上卻在細心計劃,周密布置。董卓進入洛陽後,為了站穩腳跟和擴大勢力,曾極力拉攏朝中有影響的官員。王允不動聲色,順勢歸順,盡量迎合。有時,王允不惜矯情曲意,偏違原則,來換取董卓的信任。董卓見王允不但具有才識,而且對自己忠心耿耿,毫無二心,於是便把王允當作自己的心腹親信,對王允不生絲毫疑心,無論朝政大小,都托付給王允處理。王允借此時機,親自主持一些恢複王室和發展社會經濟的具體事務。

王允雖然表麵上多有曲迎董卓之意,但在有些涉及原則、正義問題上,他仍堅持自己的意見。楊勳是當時朝廷的正義之土,自從董卓亂政以來,楊勳不畏強暴,一直與他進行尖銳的鬥爭。他曾與左將軍皇甫嵩一起密謀誅殺董卓,後因皇甫嵩升遷,楊勳勢力弱小,隻得作罷。一次,董卓問王允:“不知誰最適合擔任司隸校尉?”王允不假思索地回答說:“隻有楊勳最合條件。”雖然明知董卓與楊勳之間矛盾很深,但是,出於正義,王允毅然推舉了楊勳。

在與董卓表麵敷衍的同時,王允暗中積極組織和籌備反董卓的鬥爭。王允首先與司隸校尉黃琬、尚書鄭公業等人共同商議誅殺董卓的計策。為了控製一定武裝力量,王允等人極力向皇上推薦、保舉羌校尉楊瓚行使左將軍的權力;同時還舉薦執金吾士孫瑞擔任南陽太守,掌握一定的地方勢力,並且命令他借討伐袁術為名,帶領兵馬出道武關,實則為多路夾擊董卓做準備。士孫瑞的行動引起了董卓的懷疑,他決定把士孫瑞留在都城。王允聽說後,便順從董卓的意思,擢升士孫瑞為仆射。另外又擢升楊瓚為尚書,為最後反擊董卓做準備。

初平二年(公元192年),董卓封王允為溫侯,食邑5千戶。王允想拒絕,士孫瑞對他說:“在大事沒成功之前,不能有絲毫破綻,您與董卓加官進爵,朝廷百官都瞻仰您的崇高品節,何樂而不為呢?不要因意氣而誤了大事啁!”王允一聽有道理,便受命聽封。

初平三年(公元193年)春天,天下遭受嚴重的自然災害,連續下了兩個多月的雨。王允和士孫瑞、楊瓚等人借登台祭祀乞神降雨之機,緊急商議謀殺董卓的行動方案。士孫瑞嚴肅地對他們說:“自從去年歲末以來,太陽陰晦不照,淫雨連綿不斷,這種暗無天日的日子應該有個盡頭。現在我們時機已基本成熟,如果不把握天機,先發製人,恐怕以後後患無窮啊!請你們認真考慮考慮。”王允很讚同士孫瑞的意見,決定伺機盡早行動,以圖董卓。可是,董卓爪牙密布,戒備森嚴,而且他本人力大無比,凶殘毒辣,如果不采取萬全之策,一旦失手,恐怕後果難以設想。王允提議,可以安插內應,裏應外合,殺他個措手不及。王允獲悉董卓與他的心腹呂布之間存在很深的矛盾,便秘密召見呂布。正好呂布也有反董卓之意。於是,王允便把誅殺董卓的計劃全部告訴呂布,並委他作內應。起初,呂布礙於自己是董卓的義子,不便在內部親自下手。王允對呂布說:“你姓呂,奸賊姓董,父子隻是名義上的,並非骨肉親情,況且董卓現在已是眾叛親離,你難道還認賊作父嗎?你當他為父親,平時他待你是兒子嗎?”呂布的愛妾被董卓霸占,心中早已不滿董卓對自己的粗暴行為和野蠻態度,於是便答應下來。

這年四月,正當王允等人準備采取行動的時候,正逢天子大病初愈。朝廷百官在未央宮集合,恭祝天子龍體安康。事前,呂布派同郡騎都尉李肅等人帶領十多名心腹親兵,穿上宮廷侍衛的服裝,潛伏在宮殿側門兩邊。當董卓大搖大擺地出現在側門外時,立即遭到潛伏在門後的李肅等人的突然襲擊。董卓急呼呂布,呂布手捧聖旨,大呼:“奉旨殺賊!”董卓在絕望中被亂刀殺死,並且誅連三族。