蘇武牧羊十九年,公元前121年,大將霍去病率兵打敗了匈奴,匈奴從此元氣大傷,好多年不到邊境騷擾,有時候雙方還互派使者表示友好。只是匈奴有時候會扣留漢朝派去的使者,為了報復,漢朝也就扣留了一些匈奴使者。
公元前100年,匈奴新單于即位,怕漢朝出兵攻打他,就派人來求和,并且把以前扣留的漢使全都給送了回來。為此,漢武帝決定派蘇武為正使,張勝為副使,帶著隨從和禮物,護送被扣押的匈奴使者回國。
到了匈奴,張勝與原來投降匈奴的漢人虞常密謀,要把單于的母親劫持到漢朝。但是計劃還沒有實施就敗露了,蘇武受到了牽連。匈奴單于敬重蘇武的為人想勸降他,但多次努力都失敗了,最后蘇武被流放到北海(今天的貝加爾湖)牧羊。
北海的氣候非常寒冷,周圍荒無人煙。匈奴沒有給蘇武任何糧食和衣物,蘇武只好吃野鼠草根充饑,同羊群擠在一起熬過長夜。即使這樣,蘇武的手中仍然拿著漢節(jié),盡管節(jié)上的旄都掉光了,只剩下空空的竹竿。蘇武寧死不屈,堅決不降。
19年后,匈奴又和漢朝和好,蘇武才被送回漢朝,當時蘇武已經(jīng)頭發(fā)斑白。為了贊揚他愛國報國的精神,后人做了《蘇武牧羊》的曲子傳頌至今。