汉武帝天汉元年(公元前100年),匈奴新继位的单于(君主)怕汉朝发兵进攻,作出友好姿态,把历来扣留的汉朝使者全部放回。于是,汉武帝派遣中郎将(统领皇帝侍卫的官员)苏武为正使,副中郎将张胜为副使,率领属吏常惠等一百多人去答礼,同时将历来扣留的匈奴使者送回。
苏武一行到了匈奴,将带去的许多礼物赠给了单于。单于见汉武帝如此厚待他,以为汉朝怕他,摆出了高傲的样子。苏武马上觉察到了这种情况,在那里住了一个多月,准备回国。
就在这时候,突然发生了一件意想不到的事,副使张胜支持匈奴内部一些人反单于的事情暴露了。原来,几年前汉朝有个名叫卫律的使者投降了匈奴,很受单于信用。他的部下虞常一心向着汉朝,准备和另一些想投奔汉朝的匈奴人一起,趁单于外出打猎的机会,杀死卫律,并劫持单于的母亲到汉朝去。虞常原来是张胜的老朋友,他向张胜透露了这次密谋的行动计划。张胜表示支持,还送了他许多东西。不料有人泄露了这件事。结果虞常被抓了起来。
单于知道张胜支持虞常,顿时大怒,下令把张胜抓起来,并派卫律审问苏武。他知道苏武是个人才,特地关照卫律,设法使苏武投降。但是,苏武宁死不屈,当场拔出佩刀自杀。卫律吓得赶紧派医官救治。
在接着的审讯中,虞常因拒不招供而当场被杀。张胜在屠刀面前吓得魂不附体,屈膝投降。但苏武仍然保持气节,大义凛然,拒不投降。
单于听说苏武这么有骨气,更想要他投降了。为了迫使他屈服,把他关进一个地窖里,不给饭吃也不给水喝。正巧大雪纷飞,苏武一连几天吃披在身上的羊皮,嚼飘进地窖的雪,才没有死去。
过了几天,单于又将苏武迁到北海(前苏联境内的贝加尔湖)去牧羊。交给他的是一群公羊,说要公羊生了小羊才准回国。
苏武到北海后,匈奴人停止了对他食物的供应。他只好挖野鼠的地洞,以它们藏在里面的草籽充饥。日子一年又一年过去,他出使时穿的衣服早已碎成了片、烂成了条,但那根代表汉朝使臣的杖还在。他白天拿着这根杖去牧羊,抚摸着节上用牦牛毛结成的绒球,晚上就把它放在怀里睡觉。
过了五六年,单于的弟弟打猎来到北海,发现苏武在那里,便给了他一些衣食。三年后,单于的弟弟死去后,他再也得不到这些东西了。不久,仅有的一些东西也被人抢去。于是,他又只能过极为艰难的生活了。
公元前87年汉昭帝上台后,匈奴新即位的单于向汉朝要求和好。昭帝派使者去匈奴提出议和条件,其中一条是送回苏武。单于怕节外生枝,索性瞒过去,便谎说苏武早已死去。
昭帝始元六年(公元前81年),汉朝使者再次去匈奴。到达的那天晚上,一名匈奴老兵秘密拿着苏武留给他的一块帛巾,上面有苏武写给汉武帝的奏疏,告诉汉使苏武还活着,现在北海牧羊。
第二天,单于接见汉使时,汉使对单于说,去年秋天,汉武帝在上林苑打猎,射下一只大雁,雁足上系着一块绢帛,是苏武写的信,说现在北海牧羊。
单于大吃一惊,只好承认苏武确实在北海牧羊,并答应马上放他回国。除去已经投降匈奴和死去的,这次随苏武回国的只有九个人了。
苏武19年前出使匈奴时,不过40多岁,可回到汉朝,已经是须眉皆白的花甲老翁了。