公元前100年,汉武帝正想出兵打匈奴,匈奴派使者来求和了,还把汉朝的使者都放回来。汉武帝为了答复匈奴的善意表示,派中郎将苏武拿着旌节,带着副手张胜和随员常惠,出使匈奴。
苏武到了匈奴,送回扣留的使者,送上礼物。苏武正等单于写个回信让他回去,没想到就在这个时候,匈奴的上层发生了内讧,苏武一行人也受到了牵连。匈奴单于扣留了苏武,要他背叛汉朝。苏武不愿,单于便许以高官厚禄。再次被苏武严词拒绝后,单于越发敬重苏武的气节,不愿杀他,但也不愿放他回去,便将他发配到北海牧羊。
苏武到了北海,,旁边什么人都没有,唯一和他做伴的是那根代表朝廷的旌节。日子久了,旌节上的穗子也掉完了。一直到公元前85年,匈奴的单于死了,匈奴发生内乱,分成了三个国家。新单于没有力量再跟汉朝打仗,又打发使者来求和。
那时候,汉武帝已死去,他的儿子汉昭帝即位。汉昭帝派使者到匈奴去,要单于放回苏武,匈奴谎称苏武已经死了。使者信以为真,就没有再提。
第二次,汉使者又到匈奴去,苏武的随从常惠还在匈奴。他买通匈奴人,私下和汉使者见面,把苏武在北海牧羊的情况告诉了使者。使者见了单于,严厉责备他说:“匈奴既然存心同汉朝和好,不应该欺骗汉朝。我们皇上在御花园射下一只大雁,雁脚上拴着一条绸子,上面写着苏武还活着,你怎么说他死了呢?”
单于听了,吓了一大跳。他还以为真的是苏武的忠义感动了飞鸟,连大雁也替他送消息呢。他向使者道歉说:“苏武确实是活着,我们把他放回去就是了。”
苏武出使的时候,才四十岁。在匈奴受了十九年的折磨,胡须、头发全白了。回到长安的那一天,人们都出来迎接他。人们瞧见白胡须、白头发的苏武手里拿着光杆子的旌节,没有一个不受感动的,都说他是个有气节的大丈夫。