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