慶曆三年(1043),包拯44歲,官遷殿中丞,奉召入京。至次年十一月九日,經禦史中丞王拱辰的推薦,進入最高監察機關禦史台,當了幾個月監察禦史裏行,便正式被任命為監察禦使。到慶曆六年(1046)正月,包拯出使契丹,成為大國使臣;六月遷戶部判官;七月任京東路轉運使,賜五品服,成為朝廷五品官員。慶曆七年(1047)四月,包拯又升遷工部員外郞、直集賢院、陝西轉運使,已經成為朝廷的三品官員。那時候,新的章服還未做好,包拯赴任心切,穿著舊章服便匆匆上路,仁宗皇帝知道後,特別派遣使者,給包拯送去三品章服,此事在朝中一時傳為美談。包拯從端州至京都,不到五年時間,由從七品官擢升為三品,宦途暢順。
慶曆八年(1048)五月,包拯年屆五十歲,改任河北轉運使;六月又被仁宗皇帝召任戶部副使。皇祐二年(1050)初,包拯為天章閣待製,知諫院,成為真正的諫議朝政闕失的諫官。這期間,他與翰林學士一起偵破假太子冷青一案,使冷青身份敗露伏誅;六月至八月,又彈劾貪官郭承祐、酷吏王逵,並與吳奎、陳旭等人一起彈劾仁宗皇帝的嶽丈張堯佐,成為鐵骨錚錚一諫官。到了皇祐四年(1052),包拯為龍圖閣直學士、河北都轉運使,後又改任高陽關路安撫使,知灜州。其職務愈做愈高,聲望也愈來愈大。
包拯在京任諫官時,最為人稱道的事跡是七彈張堯佐。
張堯佐是仁宗皇帝的嶽丈,張貴妃的伯父和養父。張貴妃自幼喪父,得伯父張堯佐撫養,由於相貌俊俏,性情乖巧,八歲便進入宮廷,成為楊太後的宮女,與仁宗多有接觸,產生感情。仁宗皇帝即位後,把她升為才人、修媛、美人,直到冊封為貴妃。張貴妃深知出身微賤,閥閱不高,於是不斷請求仁宗提拔重用其伯父兼養父張堯佐,以提高自己的身份,鞏固自己的地位。仁宗盼望張貴妃能夠生個太子,以傳大位,所以凡張貴妃有要求,仁宗都無不答允。張堯佐因此從一個開封府內的小推官,一下跳升為管理開封十八個縣、二十四個鎮的刑獄長官——提點開封界公事,接著又扶搖直上,一路升遷,先後任三司戶部判官、三司戶部副使,天章閣待製,河東路轉運使,吏部流內銓、兵部郎中,權知開封府等要職。
慶曆八年(1048)十二月,張美人被冊封為貴妃之後,張堯佐也登上了三司寶座,掌控了財政大權。他竭力慫恿仁宗濫施賞賜,致使國庫空虛。包拯接二連三上疏,苦諫仁宗“勿失天下之望,勿誤天下之事”,希望仁宗迅速將張堯佐調離三司,改授閑散職務。奈何仁宗一味遷就張貴妃,對包拯的苦諫無動於衷。
不久,仁宗忽然下旨免去了張堯佐三司使的職務,但這並非包拯彈劾苦諫之功,而是張貴妃想將張堯佐拉進“二府”,躋身宰相行列,參與掌執國政。仁宗考慮到包拯等正直良臣必會激烈反對,就將張堯佐提為高於三司而又次於二府的宣徽南院使,再加上淮康軍節度使、景靈宮使、同群牧製置使等四個職務。製命甫出,群議蜂起,包拯再次上書,仁宗置之不理。此時,禦史中丞王舉也決定行使禦史中丞的權力,要與皇帝進行廷辯。他率領禦史張擇行、唐介和諫官包拯、陳旭、吳奎等人,當麵向仁宗諍諫。在廷辯上,包拯當仁不讓,犯顏直諫,措詞尖銳,毫不留情,令滿朝文武大驚失色。張貴妃怕仁宗偏向了諫官,對張堯佐更為不利,便暗中通知張堯佐主動提出辭去宣徽使和景靈宮使兩個職務,事態才平息下來。
包拯七次彈劾張堯佐,最終形成了一次諫官的集體大行動,才奪去了張堯佐宣徽、景靈宮二使,付出的代價實在太大了。如果仁宗皇帝沒有包容之心、愛才之意,包拯最終是絕不會有好下場的。一個“好”皇帝,成全了包拯的“竭忠死義”。