公元前605年,楚庄王讨伐戎族取胜。在回国的路上,被一队人马阻挡,原来是斗越椒乘庄王不在国内而造反了。他占据了楚国都城郢都后,派兵拦阻庄王,欲把庄王消灭于城外。楚庄王自知硬拼于己不利,便说:“斗室一家于楚国有大功,宁肯使越椒负我,我不负越椒。”便派苏从去讲和。斗觉得篡位已在眼前,怎肯罢休。于是对苏从说:“回去告诉旅(庄王的名),有胆量来一死战,否则赶快投降。”苏从回来后,楚庄王佯装退兵,到了晚间把军队主力埋伏于漳水东岸,又派一支在对岸活动,引诱斗军渡河,自己则率少量士兵躲在桥下。次日早晨,斗见河东岸有楚兵,果然追过河来,等他发现中了埋伏想撤回时,桥已经被拆毁了。斗惊惶失措,急令士兵涉水过河。楚将乐伯立即令士兵射箭,斗也令其士兵朝对岸射箭。在双方互射中,乐伯手下的神箭手养由基一箭射死了斗越椒。斗军见主帅身亡,四处逃散,楚军分兵追击,斗军全部被消灭。
楚庄王取胜回都城后,聘请了一位有名隐士孙叔敖当令尹。在孙的辅佐下,大量开垦荒地,奖励生产,挖掘、整修河道,灌溉成百万亩良田,每年多打不少粮食,人们丰衣足食,国库异常充裕,楚国日益强大。先后两次平定了郑、陈两国叛乱,终于和中原霸主晋国冲突起来。公元前597年,楚、晋两军在邓城(今河南郑州西北)郊外激烈交锋,晋军人马战死一半,非战死的因抢着渡河,不少掉在河里染红了河水。楚军开进邓城,部将劝楚庄王乘胜追击晋军,庄王说:“楚军在城濮之战输于晋军后不敢与晋军交锋,这回胜利足以洗刷以前的耻辱。晋国、楚国都是大国,早晚总得议和,何必多杀人呢!”于是下令收兵,不再追击,放晋军渡河回国。
邓城之战后的冬天,楚庄王攻灭萧国,随后又先后攻伐晋的盟国宋和鲁,晋均未敢援救,完全丧失了霸主地位。公元前594年,楚、鲁、蔡、许、秦、宋、陈、卫、郑、齐、邾、薛、鄯等十四国在蜀(今山东泰安西)开会结盟,正式推举楚国为盟主。楚庄王遂继齐桓公、晋文公、秦穆公之后,成为中原霸主。这四位再加上宋襄公,即为历史上著名的春秋五霸。