包拯生于宋真宗咸平二年(999年),于宋仁宗天圣五年(1027年)考中进士,被授任为大理评事,出任建昌县(今江西永修)知县。因父母年迈,包拯请求在合肥附近就职,遂改授和州(今安徽和县)监税,父母又不想让他离开,包拯就辞去官职,回家赡养父母。几年之后,他的父母相继去世,包拯在双亲的墓旁筑起草庐,直到守丧期满,还是徘徊犹豫、不忍离去,同乡父老多次前来劝慰勉励。直到景祐四年(1037年)包拯才赴京听选,获授天长(今属安徽)知县。庆历元年(1041年),包拯调任端州(今广东肇庆)知府。端州出产砚台,此前的知府趁着进贡大都敛取是贡数几十倍的砚台,来赠送给当朝权贵。包拯命令制造的砚台仅仅满足贡数,他在任满一年没拿一方砚台回家。庆历三年(1043年),入京任殿中丞。后经御史中丞王拱辰举荐,于十一月被任命为监察御史里行,改任监察御史。任监察御史及知谏院时,为肃正纲纪,惩处贪官赃吏,他弹劾贩卖私盐以牟取暴利的淮南转运按察使张可久、役使兵士为自己织造一千六百余匹驼毛缎子的汾州(今山西汾阳)知州任弁及监守自盗的仁宗亲信太监阎士良等,其中影响最大的是弹劾王逵。王逵曾数任转运使,巧立名目盘剥百姓钱物。激起民变后,又派兵捕捉,滥用酷刑,惨遭其杀害者不计其数,因而民愤极大。但王逵与宰相陈执中、贾昌朝关系密切,又得宋仁宗青睐,故有恃无恐。为此,包拯连续七次上章弹劾,最后一次更直接指责仁宗说:“今乃不恤人言,固用酷吏,于一王逵则幸矣,如一路不幸何!”
其言激切刚直,朝野震动,舆论汹汹,朝廷终于罢免了王逵。包拯又曾经建议说:“国家每年向契丹交纳财物(岁币),不是抵御戎人的计策,应该操练军队、挑选将领,致力于充实边境守备。”
又请求重视门下封还驳正的制度,以及废黜贪官污吏不得做官,选择郡守县宰,推行考核试用补任恩荫子弟的方法。当时各道转运加按察使,他们上奏弹劾官吏大多指摘细小过失,注重苛刻严察相互标榜,官吏自觉不安,包拯因此请求免去按察使。庆历五年(1045年)八月,包拯担任契丹正旦使,出使辽朝,完成了使命回朝后,包拯根据自己在辽朝的观察,上疏建议朝廷挑选“素习边事”的将领守边,并重视代州(今山西忻州代县)的将领选择,以应对边境突发的情况。此后历任三司户部判官,于庆历六年(1046年)六月左右出京任京东路(治今河南商丘)转运使。庆历七年(1047年)四月,改任尚书工部员外郎、直集贤院、陕西转运使。庆历八年(1048年)五月二日,包拯调任河北路(治今河北大名)转运使,六月二十二日,入朝任三司户部副使。秦陇斜谷务所的造船木材,一概向百姓征收索取;又七个州交纳河桥竹索的赋税,一般有几十万,包拯都奏请加以废除。辽朝在邻近边塞地区集结军队,边境州郡渐加戒备,命令包拯去河北调发军粮。包拯说:“漳河地区肥沃的土壤,百姓不能耕种,邢、沼、赵三州农田一万五千顷,一概用来牧马,请求把这些全都分给百姓。”
听从他的意见。解州盐法规定使百姓困竭,包拯前去加以经营管理,请求一概与商贩流通交换。皇祐二年(1050年),包拯受任为天章阁待制、知谏院。他多次论述斥责权贵得宠大臣,请求免去一切由内廷施予的曲意恩赐。又依次递上唐魏徵的三条奏疏,希望放在座位右侧,作为借鉴。又上言天子应当明于听取采纳,分辨朋党,爱惜人才,不坚持先入为主的说辞,一共七件事;请求废除苛刻不宽厚的做法,抑制侥幸投机得官,正刑法明禁令,戒除兴建劳作,禁丘妖言妄说。朝廷大多加以施行。当时,张贵妃(温成皇后)的父亲张尧佐被任命为淮康军(治今河南汝南)节度使、群牧制置使、宣徽南院使、景灵宫使,右司谏张择行、唐介与包拯一起奏论此事,认为应追夺对张尧佐的任命,或者选择宣徽、节度中的一个授予。最终,张尧佐辞去了宣徽使、景灵宫使之职。皇祐四年(1052年)十月,除任龙图阁直学士、河北都转运使。曾经提议太平无事时把军队调到内地,没有答复。至此时,请求:“解除河北驻守军队,把他们分布在黄河以南的兖、郸、齐、濮、曹、济各郡,如果有紧急情况,没有误时的忧虑。如果说驻守军队不能立刻削减,请求训练民兵,稍加供给干粮,每年的费用,不到驻守军队一个月的开支,一个州的赋税,那么供给的人数就多了。”
没有答复。数月后,转任高阳关(今河北高阳东)路安抚使。同年七月,调知瀛州,各州用官府的钱做买卖,年累计亏负十多万,都上奏加以除去。因丧子请求任政务清简的州郡任职,遂改知扬州,又转知庐州,并加刑部郎中。至和二年(1055年)十二月,包拯因担保推荐官员失误获罪,贬官兵部员外郎、知池州(今安徽池州)。嘉祐元年(1056年)八月,复职刑部郎中、知江宁府。同年十二月,被召任权知开封府,迁升右司郎中。嘉祐三年(1058年)六月,升为右谏议大夫、权任御史中丞。包拯上奏说:“太子的位置空缺已经很久了,天下人都为此感到担忧,陛下这么长久地不作出决定,是为什么呢?”
仁宗问他说:“你认为立谁为好呢?”
包拯回答道:“臣下无能,还没有考虑,臣请求早立太子,是为宗庙万世之大计着想的。陛下问臣想立谁,这是怀疑臣。臣已是六十岁的人了,又没有儿子,并不是为自己和后代邀宠考虑的啊!”
仁宗听了大为高兴,说:“这件事还要慢慢商议。”
他请求裁减内侍,减少不必要的费用,按条文督促各路监司尽忠职守,御史府可以自己举荐所属官员,减少官吏一年的休假日期,这些建议都得以施行。七月,以权御史中丞职领转运使、提点刑狱考课院。嘉祐四年(1059年),时任三司使的张方平由于买土豪的财产,被包拯上章将其弹劾免官;由宋祁接任,包拯又弹劾他;宋祁被免后,就由包拯以枢密直学士之职暂任三司使。对此,欧阳修说:“包拯是所谓牵牛踩踏了田而夺了人家的牛(蹊田夺牛),处罚已经很重了,可他又贪图肥缺来做那个职务,不也是过分了吗?”
包拯因此待在家里,以躲避代理三司使的任命,仁宗不许。许久后,包拯才出府任职。嘉祐六年(1061年)三月,升任给事中,正式担任三司使。数日后,拜枢密副使。不久,调任礼部侍郎,但他推辞不受。嘉祐七年(1062年)五月,包拯在枢密院视事时,突然得病。同月二十四日(7月3日),包拯病逝,终年六十四岁。仁宗亲临吊唁,并为其辍朝一日。追赠礼部尚书,谥号孝肃。