霍光字子孟,是骠骑将军霍去病的弟弟。他的父亲中孺,是河东平阳人,以县吏的身份在平阳侯家供事,同侍女卫少儿私通而生下霍去病。中孺差事完成后回到家中又娶妻生下霍光,与卫少儿断了关系不通音信。过了一段时间,少儿的妹妹子夫得宠于汉武帝,被立为皇后,霍去病由于是皇后姐姐的儿子而地位尊贵并受到皇帝的宠幸。霍去病长大成人后,才知道自己的父亲是霍中孺,但一直未来得及探访。恰好霍去病被封为骠骑将军去攻打匈奴,路过河东,河东太守到城郊去迎接,背着弓箭在前面带路,到平阳侯家裹的接待处休息。霍去病就派小吏去请霍中孺来相见。中孺急忙赶来很恭敬地晋见,霍去病上前迎接揖拜,跪下说:“去病早先不知道自己是您的骨肉。”中孺伏地叩头说:“老臣能把命运寄托给将军,这是上天所助啊。”去病为中孺买了大量的田地、房宅、奴婢后离开。还军的时候,霍去病又经过河东,于是就把霍光带到了长安,当时霍光才十几岁,就任命霍光为郎,不久就迁升为诸曹侍中。去病死后,霍光被封为奉车都尉光禄大夫,皇帝出行则以奉车身份随驾,在宫内就侍奉左右,进出禁宫有二十多年,一直小心谨慎,未曾有遇差错,很受皇帝的亲近信赖。
征和二年,卫太子被江充陷害所败,燕王刘旦、广陵王刘胥又都有很多过失。这时候皇上年老,宠姬钩弋趟侄伃生了一个男孩,皇上心中打算把皇位传给他,并命大臣来辅佐他。皇上观察群臣中衹有霍光才可担当重任,辅助社稷。皇上于是就叫宫廷画师画了一张周公背着成王接受诸侯朝贺的画赐给霍光。后元二年的春天,皇上出游五柞宫,病得很厉害,霍光流泪问道:“如果皇上有不测,那当由谁来继位?”皇上说道: “难道您还不明白上次送给您的画的意思吗?立少子为帝,您当照周公辅佐成王那样行事。”霍光叩头,谦让说: “我比不上金曰婵。”金H婵也说:“我是外国人,不如霍光。”皇上于是就任命霍光为大司马大将军,金H珲为车骑将军,以及太仆上官桀为左将军,搜粟都尉桑弘羊为御史大夫。他们都在天子卧室内的床前叩拜受职,接受遣诏辅佐年幼的君主。第二天,武帝驾崩,太子承袭皇位,称为孝昭皇帝。皇帝年仅八岁,政事全由霍光来决定。
在这以前,后元年时,侍中仆射莽何罗同他的弟弟重合侯莽通合谋反叛,当时霍光同金曰婵、上官桀等人一起诛杀了这些叛逆,其功没有被记录颁赏。武帝病后,密封玺书说:“我死以后打开玺书遵照从事。”遣诏封金H碑为诧侯,上官桀为安阳侯,霍光为博陆侯,都是按照以前捕杀叛逆的功劳来分封的。当时卫尉王莽的儿子王忽为侍中,在外面扬言道:“帝崩的时候,我经常在他的身边,哪裹会有遣韶封他们的事!这帮人是在自己抬高自己。”霍光听到这些话后,严厉责备王莽,王莽用毒酒杀死了王忽。
霍光性格沉静,思虑周到,身高衹有七尺三寸,皮肤白皙,疏眉朗目,须髯很美。每当他出入殿门的时候,前进、停止的时候都有固定的位置。郎仆射暗中做记号来观察,发现不差分毫,他的资质就像这样端正。霍光辅佐幼主的时候,政令由自己发布,天下人都仰慕他的风采。宫殿中曾经有过鬼怪之事,整夜群臣都很惊慌,霍光召见掌管符玺的郎官,郎官不肯把玺给霍光。霍光想夺取符玺,郎官按剑说道: “我的头可以得到,但玺却不可为你所得!”霍光很敬佩郎官的行为。第二天,就下韶把这个郎官的官秩升了两级。众人没有不赞许霍光的这种行为的。
霍光与左将军上官桀是儿女亲家,关系亲密,霍光的大女儿嫁给上官桀的儿子上官安为妻。上官安有个女儿年龄同昭帝相当,上官桀就通过!眯的姐姐鄂邑盖主把上宣室的女儿纳进后宫当婕妤,几个月后就被立为皇后。皇后的父亲上宣昼就被任命为骠骑将军,封为桑乐侯。霍光有时休假出宫,上官桀就进宫代替霍光处理政事。上官桀父子位尊势盛之后,很感激长公。
长公主没有操行,亲近宠幸河问的丁外人。上官继、上官安打算替丁外人请求封侯,希望按照国家以前衹有列侯与公主配婚的惯例封侯,但霍光没有同意。他们又为丁外人求取光禄大夫之职,以期得到昭帝的召见,再次被霍光拒绝。长公主因此就对霍光非常怨恨。而上官桀、上官安因为几次为丁外人求取官爵没有成功,也感到很惭愧。在汉武帝的时候,上官桀已在九卿之列,官位在霍光之上,等到上官父子同为将军的时候,又有了宫中皇后的重要关系,皇后是上官安的亲生女儿,霍光衹不过是她的外祖父,却反而独自专揽朝政,上官父子因此就与霍光争夺权力。
憨王刘旦自以为是昭帝的哥哥,却没有继承帝位,就常抱有怨恨之心。还有御史大夫桑弘羊建议设立酒类专卖、盐铁官营的制度,为国家增加了财富,桑弘羊便居功自傲,打算为自己的子弟谋得官职,没有如愿,因此也怨恨霍光。于是鄂邑盖主、上官桀、上官安以及桑弘羊这些人就与燕王刘旦一同设谋,假装让人替燕王来上书,说:“霍光出城演练郎官、羽林,行进在路上像皇帝出行那样设置威仪,而且还让太官提前准备饭菜。还有苏武以前出使匈奴,被拘留二十年没有投降,回来后衹当了典属国,而大将军的长史杨敞没有功劳,却当了搜粟都尉。霍光又擅自调入来增加自己幕府的校尉。霍光专权放肆,恐怕他有不良的企图。臣刘旦愿交还燕王的符节玺印,入朝值宿守卫,审察奸臣的阴谋。”等霍光出宫休假的时候乘机上奏了此书。上官桀打算从宫内直接发下其事,桑弘羊就和其他大臣一起将霍光拘捕并解除他的职务。奏书交上去后,昭帝留住奏书不肯颁下。
第二天早晨,霍光听说了这件事,就留在殿前的画室中没有进去朝拜。皇上问道“大将军在哪裹?”左将军上官桀回答说:“因为燕王告发他的罪行,所以不敢进来。”皇上就下诏召见大将军。霍光进来后,取下官帽,叩头谢罪,皇上说:“将军请戴上帽子,朕知道这封奏书是假的,将军没有罪过。”霍光问道:“陛下凭什么知道我没有罪呢?”皇上说道:“将军到广明,演习郎官衹是近来的事,调选校尉到现在也不过十天,燕王是怎么知道这些事的?况且将军要做非法的事,也不需要校尉的。”这时候昭帝年仅十四岁,尚书以及左右的大臣都很吃惊,而呈送书信的人果然逃走了,官府开始紧急搜捕。上官桀等人感到害怕了,就对皇上说这衹是一件小事,不值得穷追究竟,皇上没有听从。
后来上官桀的党羽凡有说霍光的坏话的,昭帝就发怒道:“大将军是忠臣,先帝所托付来辅佐朕的,敢有诽谤他的人就判他的罪。”从这以后,上官桀等人就不敢再说坏话了,他们就密谋让长公主摆酒席请霍光赴宴,准备埋伏士兵击杀他,乘机再废除昭帝,迎立燕王为天子。事情被发觉,霍光就将上官桀、上官安、桑弘羊、丁外人等人及家族全都诛杀了。燕王、盖主也都自杀。霍光的威势震动全国。昭帝成年后,就正式委任霍光执政,到昭帝十三年,百姓生活充裕厚实,四方的各少数民族都称臣归服。