汉朝与匈奴之间连年战争,给双方都带来了很大的损失。公元前101年,新继位的单于想与汉朝通好,派出使者,把历年来拘押起来的不愿投降的汉朝使者送归。为表示诚意,同年武帝派出中郎将苏武、副中郎将张胜等,送还被汉羁留的匈奴使者作为回报。苏武等人到达匈奴,已经投降匈奴的汉人虞常等秘密地会见了张胜并谋划把单于的母亲阏氏劫到汉朝。不料密谋败露,单于就把苏武召来,打算劝他投靠匈奴。苏武表示,既然不能完成使命,即使活下来,又有何颜面归汉。于是就要拔刀自尽,被人救下。单于软硬兼施,不能奏效,就把苏武幽禁在一大窑中,断其饮食。苏武吞旃饮雪,竟连续十余日仍旧活着,匈奴以之为神,又把他流放到匈奴最北边的无人之处,北海之上,让他放牧雄羊。匈奴告诉苏武,若想回家,除非等到雄羊生子。
苏武独自在北海之上与羊为伴,没有饮食,就挖取鼠穴中的老鼠食充饥。在最艰苦时刻,苏武仍坚持使臣身份持节牧羊,起卧操持,以至节旄尽落。期间,单于曾派李陵到北海来,劝苏武投降,苏武誓死不从。到了公元前81年,又有新单于继位,内政混乱,又害怕汉朝派兵来袭击决定与汉朝和亲,这才将苏武等人送归汉朝。回到京师后,汉昭帝任命他为典属国,负责少数民族事务。苏武羁留匈奴地区十九年,出使时是中年之人,回归时则须发尽白。苏武牧羊的故事一直被后人所传颂。