过了两年。勾践听说吴王夫差日夜操练兵马,将要报复越国。就想先发制人,抢先出兵讨伐吴国。越国的谋臣范蠡劝阻勾践,可是勾践却说:“我已经决定了!”于是出动了军队。夫差调动精兵迎战,在夫椒(今江苏吴县西南)一役中,吴军大败越军。越王勾践只好带着剩余的五千残兵败将,退守会稽山(今浙江绍兴南)。吴军乘胜追击,包围了会稽山。
勾践惭恨交集,对范蠡说:“由于没有听你的话,所以落到这个地步,该怎么解脱呢?”范蠡回答说:“现在只有委曲求全,对吴王以厚礼相送,如果他不答应讲和,就以身去侍奉吴王。”于是,勾践就采用范蠡、文种的计策,准备了美女、宝器,派文种秘密献给吴国的大臣伯嚭,贿赂他,让他劝夫差赦免越王。夫差听信伯嚭的巧言而拒绝伍子胥的忠谏,终于赦免了越王,解除会稽山的围困,罢兵回吴国。
勾践从会稽山脱身返回越国后,就决意发愤图强。他终日勤劳吃苦,深思熟虑,把苦胆悬挂在座位旁边,坐着或躺着,时时凝视着苦胆,吃饭时先尝尝胆汁,并提醒自己说:“你忘了在会稽受的耻辱吗?”他还亲自耕种劳作,让夫人亲自纺织,饮食不吃肉,穿着俭朴,谦虚恭敬地对待贤人,厚礼接待宾客,救济贫穷的百姓,悼慰死者,与百姓同劳苦。勾践想让范蠡主持国家的政治,范蠡回答说:“用兵打仗的事,文种不如我;安抚国家,让百姓亲附,我不如文种。”于是勾践把整个国家的政事委托给文种,派范蠡与大夫柘稽去吴国议和,留在吴国作人质。两年后,吴置放范蠡回国。
吴国的权臣伯嚭等人和伍子胥在对待越国的政策方面,一直存在着激烈地争论。伍子胥因坚持主张不与越国讲和,不要北上争霸,遭到伯嚭一伙人的谗毁,吴王也渐渐疏远了伍子胥。直到公元前484年,伍子胥出使齐国返国,吴王再一次听信谗言而大怒,便赐下一把金镂剑,令伍子胥自杀了。
勾践从会稽回国后的十余年,一直在安抚他的士卒和百姓,想积聚实力来报复吴国。勾践审度吴国的局势,召范蠡说:“吴王已经杀了伍子胥,阿谀谄媚的小人众多,可以进攻吴国了吧!”范蠡回答说“还不可以”,劝越王继续加强战备,等待时机。
公元前480年春天。吴王北上在黄池和诸侯会盟,吴国的精兵都随吴王北上,剩下的只是老弱残兵和太子留守都城。勾践又问范蠡是否可发兵攻吴,范蠡说:“可以了。”于是勾践派遣善战的水兵二千人,训练有素的部队四万人,君王的卫兵六千人,在职军官一千人,讨伐吴国。吴国的军队被打败,吴国的太子被杀死。吴国派人向吴王告急,吴王正在黄池和诸侯会盟,害怕天下诸侯知道吴国战败的消息,就严守秘密。吴王在黄池会盟完毕,就派人持厚礼与越国讲和。越王估计自己也不能吞并吴国,就与吴国讲和了。
四年以后,越国再次讨伐吴国,吴军和百姓疲惫不堪,精锐部队都死在和齐国、晋国的战争中。越军大破吴军,并且留下军队包围吴军达三年,吴军彻底战败。公元前473年,越军大举攻吴,又把吴王围困在姑苏山上。吴王派公孙雄赤露上身,跪地前行,向越王求和,希望越国像当年会稽山吴王赦免越王勾践一样,赦免吴王夫差。勾践不忍心,想答应夫差。范蠡说:“会稽的事,上天把越国赐给吴国,吴国不取。如今上天把吴国赐给越国,越国难道可以违背天意吗?况且君王早起上朝,很晚才休息,不就是为了攻灭吴国吗?谋划伐吴国二十二年,一旦放弃它,可以吗?君王忘了会稽山上的厄运吗?”勾践说:“我想听从你的话,只是我不忍心这样对待他的使臣。”范蠡于是击鼓进兵,说:“越王已经把政事委托给办事人员了,吴国的使臣赶快离去;不然将要得罪你了!”吴国的使臣哭泣着离去。勾践怜悯夫差,就派人对夫差说:“我把你安置到甬东,做个一百户人家的侯王。”吴王夫差辞谢说:“我已经老了,不能侍奉君王!”说完就伏剑自杀了。他自杀时遮蔽脸面说:“我没有脸去见伍子胥呀!”越王安葬了吴王,杀死了太宰伯嚭。
勾践灭了吴国后,就率军北渡淮河,饮马长江,会合诸侯。这时,越军横行于长江、淮河以东,诸侯都来祝贺,勾践号称霸王。
从此,越王勾践“卧薪尝胆”的故事,便在世上广为流传。后来,人们也往往用“卧薪尝胆”的话,来形容立志为国家报仇雪耻,刻苦自励的人。