上官家族为了回报鄂邑长公主,想将丁外人封为列侯,被霍光以“无功不得封侯”驳回。霍光此前又曾多次阻止上官家族其他亲戚封官,双方因而结怨,成为政敌。
御史大夫桑弘羊自恃功高为子弟求官被霍光拒绝,且二人的政治主张有严重分歧,因而桑弘羊怨恨霍光。汉昭帝的哥哥燕王刘旦,因为没有被立为皇帝,也心存怨恨,于是这几股政治势力就暂时联合起来,试图杀死霍光,废掉刘弗陵。
上官桀、燕王刘旦等人,加紧了政变的准备工作,燕王刘旦将夺取帝位的赌注压在上官桀身上,前后派遣十多人,带了大批金银珠宝,贿赂长公主、上官桀、桑弘羊等人,以求支持他夺取帝位,他们袭用“清君侧”的故伎,令人以燕王刘旦的名义上书昭帝,捏造说:“霍光正在检阅京都兵备,京都附近道路已经戒严;苏武出使匈奴二十年不肯降。但回到汉朝后,只为典属国。然而霍光属下长史并无功劳,却被升为搜粟都尉;霍光擅自调动所属兵力。所有这些,是为推翻昭帝,自立为帝。”并声称燕王刘旦为了防止奸臣变乱,要入朝宿卫。
当时,制度吏民上书言事,霍光以领尚书先看,实际上霍光是先行批阅,遇有不好的,可压下不报。上官桀只有等到霍光休假沐浴时,才能代替霍光处理奏章,上官桀趁霍光沐浴之机,将奏章送到昭帝手中,上官桀想通过昭帝把这事批复下来,而后再由他按照奏章内容来宣布霍光的“罪状”,由桑弘羊组织朝臣共同胁迫霍光退位。
当燕王刘旦的书信到达汉昭帝的手中后,就被汉昭帝扣压在那里,不予理睬。次日早朝,霍光已得知上官桀的举动,就站在张贴武帝所赠“周公辅成王图”的画室之中,不去上朝,以此要求昭帝表明态度。
昭帝见朝廷中没有霍光,就向朝臣打听,上官桀乘机回答说:“因为燕王告发他的罪状,他不敢来上朝了。”昭帝下诏召大将军,霍光进宫,除下将军冠叩头自责。昭帝说:“将军戴上冠,我知道那封书信是在造谣诽谤,将军无罪。”霍光说:“陛下怎么知道的?”昭帝说:“将军到广明亭去,召集郎官部属罢了。如果你要调动所属兵力,时间用不了十天,燕王刘旦远在外地,怎么能够知道呢!况且,你如果真的要推翻我,也无须如此大动干戈!”上官桀等人的阴谋被十四岁的昭帝一语揭穿,所有在朝大臣对昭帝如此聪明善断无不表示惊叹,霍光的辅政地位得到了稳固。