公元前506年,吴王阖闾拜孙武为大将,伍子胥为副将,亲自率领大军,向楚国进攻;他们连战连胜,把楚国的军队打得一败涂地,一直打到郢都。
过了大江,伍子胥感激万分,摘下身上的宝剑,交给老渔人,说:“这把宝剑是楚王赐给我祖父的,值100两金子。现在送给你,好歹表表我的心意。”
伍子胥到了吴国,吴国的公子光正想夺取王位。在伍子胥帮助下,公子光杀了吴王僚,自立为王。这就是吴王阖闾。
楚平王早就下令悬赏捉拿伍子胥,还叫人画了伍子胥的像,挂在楚国各地的城门口,嘱咐各地官吏盘查。
伍子胥连忙向老渔人赔礼,收了宝剑,辞别老渔人走了。
伍子胥带着公子胜逃出郑国后,白天躲藏,晚上赶路,来到吴楚两国交界的昭关(在今安徽含山县北)。关上的官吏盘查得很紧。传说伍子胥一连几夜愁得睡不着觉,连头发也愁白了。幸亏他们遇到了一个好心人,叫东皋公,东皋公同情伍子胥,把他接到自己家里。东皋公有个朋友,模样有点像伍子胥。东皋公让他冒充伍子胥过关。守关的逮住了这个假伍子胥,而那个真伍子胥因为头发全白,面貌变了,守关的认不出来,就被他混出关去。
太子建报仇心切,竟勾结郑国的一些大臣想夺郑定公的权,被郑定公杀了。伍子胥只好带着公子胜逃出郑国,投奔吴国(都城在今江苏苏州)。
楚平王一面派人去杀太子建,一面又逼伍奢写信给他的两个儿子伍尚和伍子胥,叫他们回来,以便一起除掉。大儿子伍尚回到郢都(今湖北江陵西北),就跟父亲伍奢一起,被楚平王杀害。太子建事先听到风声,带着儿子公子胜逃到宋国去了。
吴王阖闾即位之后,封伍子胥为大夫,帮助他处理国家大事。
楚庄王的孙子楚平王即位之后,楚国渐渐衰落了。公元前522年,楚平王要把原来的太子建废掉。这时候,太子建和他的老师伍奢正在城父(在河南襄城西)镇守。楚平王怕伍奢不同意,先把伍奢叫来,诬说太子建正在谋反。
老渔人说:“楚王为了追捕你,出了5万石粮食的赏金,还答应封告发人大夫爵位。我不贪图这个赏金、爵位,难道会要你这宝剑吗?”
伍子胥出了昭关,害怕后面有追兵,急忙往前跑。前面有一条大江拦住去路。伍子胥正在着急,江上有个打鱼的老头儿划着一只小船过来,把伍子胥渡过了江。
伍奢的另一个儿子伍子胥,也从楚国逃出来,他赶到宋国,找到了太子建。不巧宋国发生内乱,伍子胥又带着太子建、公子胜逃到郑国,想请郑国帮他们报仇。可是郑国国君郑定公没有同意。
伍奢说什么也不承认,立刻被关进监狱。