苏武归汉第二年,上官桀、子安与桑弘羊及燕王、盖主谋反,苏武的儿子苏元因参与上官安的阴谋,而被处死。起初,上官桀、上官安与大将军霍光争权,上官桀父子屡次把霍光的过失记下交给燕王,使燕王上书给皇帝,告发霍光。又说苏武出使匈奴二十年,不投降,回到汉廷后,只做典属国。而大将军属下的长史官并无功劳,却被提升为搜粟都尉,霍光专权放肆。等到燕王等人谋反,被杀,追查处治同谋的人,苏武一向与上官桀、桑弘羊有旧交,燕王又因苏武功高而官小数次上书,替他抱不平,他的儿子又参与了谋反,主管刑狱的官员上书请求逮捕苏武。霍光把刑狱官的奏章搁置起来,只免去了苏武的官职。
过了几年,昭帝死了。苏武以从前任二千石官的身份,参与了谋立宣帝的计划,赐封爵位关内侯,食邑 三百户。过了很久,卫将军张安世推荐说苏武通达熟悉朝章典故,出使不辱君命,昭帝遗言曾讲到苏武的这两点长处。宣帝召来苏武在宦者令的衙门听候宣召。多次进见,又做了右曹典属国。因苏武是节操显著的老臣,只令他每月的初一和十五两日入朝,尊称他为德高望重的“祭酒”,非常优宠他。苏武把所得的赏赐,全部施送给弟弟苏贤和过去的邻里朋友,自己家中不留一点财物。皇后的父亲平恩侯、宣帝的舅舅平昌侯和乐昌侯、车骑将军韩增、丞相魏相、御史大夫丙吉,都很敬重苏武。
苏武年老了,他的儿子以前被处死,皇帝怜悯他。问左右的人:“苏武在匈奴很久,有儿子吗?”苏武通过平恩侯向宣帝陈述:“以前在匈奴发配时,娶的匈奴妇人正好生了一个儿子,名字叫通国,有消息传来,想通过汉使者送去金银、丝绸,把男孩赎回来。”皇帝答应了。后来通国随汉使者回到了汉朝,皇帝让他做了郎官。又让苏武弟弟的儿子做了右曹。 苏武活到八十多岁,汉宣帝神爵二年(前60年)病亡。