拥立昭王
楚平王二年(前527年),楚平王派大夫费无忌到秦国去为太子建迎娶新妇。因为新妇很漂亮,楚平王见色起意,就自己纳了这位秦国女子,生下儿子熊壬(又名熊珍),另给太子建娶亲。楚平王六年(前523年),因听信费无忌的谗言,楚平王就逼走了太子建,灭门了太子建的太傅伍奢一家,致使伍子胥逃到吴国。后来,熊壬被立为新太子。
楚平王十三年(前516年),楚平王去世。令尹子常想要立子西,说:“太子壬年幼,况且他的母亲不是正妻,而是前太子建应当娶的。子西年长而善良,立长合乎情理,立善国家就能太平。所以应当立子西。”子西发怒说:“这是扰乱国家、不利于君王的祸事。太子壬母亲的母国秦国是我们的盟国,不能轻慢。君王有嫡出的继承人,不能混淆。得罪秦国、招来讨伐、混淆继承顺序,不吉利,我将因此蒙受恶名。即使把天下送给我,我也是不能听从的。我一定要杀死令尹。”子常恐惧,就仍旧立太子壬为王,是为楚昭王。
抗击吴军
楚昭王四年(前512年),吴国公子掩余、烛庸逃亡到楚国。楚昭王封给他们大量土地,安排他们住于养(今河南沈丘东南),并为之修城,准备利用他们对抗吴国。子西认为吴王阖闾仁德爱民,而此时的楚国也需要修生养息,不宜在这时激怒吴国、与之为敌。昭王不听。果然,吴王发怒,在伍子胥的建议下,使用曾经荀罃提出的“三驾疲楚”战略,频繁地袭击楚国,使楚国疲于奔命。
楚昭王十年(前506年)冬,吴军在吴破楚入郢之战中攻入郢都,楚昭王外逃。
楚昭王十一年(前505年),子西因与昭王失散,就在脾泄建立新都,仿制了昭王的车子和服饰,用楚王的名义收拢溃散的楚人,以示楚国尚在。后来得知楚昭王已经逃亡到随国,就赶去跟随昭王。
六月,因申包胥出使秦国求援,秦军援楚,战局开始逆转。秦楚联军首先在沂地击败了夫概率领的吴军,随后薳射的儿子带领残兵投奔子西,又在军祥(今随州市西南)击败了吴军。
九月,楚、秦与吴军继续交战。吴军在雍澨击败了楚军,秦军又击败了吴军。吴军驻扎在麇,子期(公子结)想要火攻。子西说:“父老乡亲的尸骨还暴露在那里,不能收殓又要烧掉,不行。”子期说:“国家将要灭亡了!死去的人如果有知觉,国家复兴他们就可以享有以往的祭祀了,哪里还怕烧掉尸骨?”于是楚军火攻吴军,又接着进攻,吴军败退,又在公婿之溪(约在今湖北襄樊市东)作战,吴军大败,吴王就回国了。
十月,楚昭王回到郢都。当初,楚昭王逃亡到随国的时候,要在成臼渡河,蓝尹亹用船把他妻子儿子先渡过河,不把船给楚昭王用,等到楚国安定以后,楚昭王要杀他。子西劝谏说:“当初子常就因为记挂着过去的怨恨而失败,君王为什么学他呢?”楚昭王说:“好,让蓝尹亹官复原职,我用这件事来记住以往的过失。”楚昭王赏赐斗辛、王孙由于、王孙圉、钟建、斗巢、申包胥、王孙贾、宋木、斗怀。子西说:“请您不要赏赐斗怀。”楚昭王说:“大德消除了小怨,这是合于正道的。”
其后,楚昭王让王孙由于在麇地筑城。王孙由于回去复命,子西问城墙的高厚、城的大小,王孙由于都答不上来。子西责问王孙由于。王孙由于回答:“人各有长处和短处。先前大王在云梦遇到盗贼,我用后背挡住一戈,护送大王离开,这才是我的长处;至于筑城,不在我的能力范围内。”
复兴楚国
楚昭王十二年(前504年),楚军又接连败于吴军。这一年子西已经当上令尹,听说后不忧反喜:“人们知道忧患,就可以整肃政务、治理国家了。”于是把郢都迁到鄀地,改革政治,来安定楚国。
楚昭王十四年(前502年),子西为先前饱受战乱的百姓哭泣,百姓也一起哭泣。先前助吴伐楚的蔡昭侯听说此事,非常害怕。
楚昭王二十二年(前494年)春,楚昭王率军包围蔡国国都,来报复蔡国。子西负责建造军事工事,在离蔡国都城一里处筑造堡垒,宽一丈、高二丈。筑垒的士卒屯驻工地,经九天九夜完成,和子西的预定计划一样。蔡国投降。楚昭王让蔡国迁移到长江、汝水之间就回去了。
四月,吴国攻打陈国,楚国上下都很担心。子西分析说,阖闾节俭爱民,夫差却奢侈虐民,吴国已经不能击败楚国了。
楚昭王二十五年(前491年),楚国已经从吴楚之战中恢复元气,重新开始北上争霸。
迎立惠王
楚昭王二十七年(前489年),吴国攻打陈国。楚昭王救陈,病倒在军中,天空有红霞像鸟一样绕着太阳飞翔。昭王向太史询问吉凶,太史说:“这对大王有害,但能够举行祭祀把灾祸移到令尹子西、司马子期身上。”子西、子期听说后,就向神祷告,请求让自己代替昭王。昭王说:“两位兄长如同我的手足,把灾祸移到手足上,难道就能够免除我的病吗?”不同意举行祭祀。
昭王临终前,想要把王位传给子西,子西坚辞不受。昭王又询问子期、子闾(公子启),二人也都不接受。最后子闾实在推辞不了,才假意答应了。昭王去世后,子闾与子西、子期商议,封锁消息、阻绝路口,秘密派使者回郢都,迎昭王的儿子熊章到城父即位,是为楚惠王。然后楚师才回国,安葬昭王。
惨遭杀害
早先,太子建流亡在郑国,为晋国做间谍,图谋袭郑。郑国人发现后,就杀死了太子建。太子建的儿子王孙胜(白公胜)流亡到了吴国。
楚惠王二年(前487年),子西打算将王孙胜从吴国召回楚国。叶公沈诸梁说:“我听说王孙胜狡诈而好作乱,不是一个祸害吧!”子西说:“我听说王孙胜诚实而勇敢,不做没有利的事情。把他安置在边境上,让他保卫边疆。”叶公说:“符合仁爱叫做诚信,遵循道义叫做勇敢。我听说王孙胜务求实践诺言,而又遍求不怕死的人,大概是有私心吧?不管什么话都要实践,这不是诚信,不管什么事情都不怕死,这不是勇敢。您一定会后悔的。”子西不听叶公的劝告,把王孙胜召回楚国,让他住在和吴国边境的地方巢邑,并任命胜担任巢邑大夫,号白公,故称白公胜。白公胜因为怨恨郑国杀害其父太子建,就总想攻打郑国,为父报仇。
楚惠王六年(前483年),白公胜向子西请求出兵攻打郑国,子西说:“楚国一切政事还没进入正常轨道。不是这样的话,我是不会忘记的。”过了几天,白公胜再次请求攻打郑国,子西同意,但却迟迟没有出兵。
楚惠王八年(前481年),晋国攻打郑国,郑国向楚国告急,楚惠王派子西率军救援郑国。子西救援郑国成功后,便与郑国结盟,并接受郑国贿赂而回。白公胜发怒,说:“郑国人在这里,仇人不在远处。”
楚惠王九年(前480年),子西、子期攻打吴国,至桐汭。
楚惠王十年(前479年),白公胜亲自磨剑,子期的儿子公孙平见到,询问原因。白公胜直言要杀死子期。公孙平把这些话告诉子西。子西不以为意,说:“白公胜就像鸟蛋,我用翅膀覆盖着庇佑他长大。在楚国,只要我死了,令尹、司马的职务,不归于他还归于谁?”白公胜听到子西的话,说:“令尹真狂妄!他要是得到善终,我就不是我。”子西还是没有醒悟。于是白公胜和石乞密谋杀死子西、子期。
十月,白公胜就发动叛乱,在朝堂上杀害子西、子期,劫持了楚惠王。子西用袖子掩面而死,子期则力战而死。叶公听闻这一消息,就入京平叛,诛杀了白公胜,使惠王复位,埋葬了子西和子期被害的家族成员。