当张仪回国时,楚王担心张仪会继续败坏楚国,靳尚便自请为楚王跟随、监视张仪,却不幸遇刺身亡。张仪离楚后,屈原恰好出使齐国返回,质问怀王为何不杀张仪,怀王悔悟,派人追赶张仪,没有追上。
无论如何,至此,楚国和秦国暂时成为了盟国。
楚怀王十八年(前311年),张仪返回秦国后,楚王又派昭雎出使秦国,巩固楚秦关系。昭雎还没有抵达,秦惠文王就去世,秦武王即位。这时,诸侯听闻张仪不被新王宠信,纷纷和秦国断交,转而和齐国结盟。
楚怀王十九年(前310年),张仪被驱逐出秦国,转而去魏国为官。见此情形,楚王亦背弃了和秦国的盟约,逮捕昭雎来向齐国示好。桓臧游说楚王,称昭雎和张仪的交情也能巩固楚魏关系,劝楚王释放昭雎,楚王听从。不久后魏相田需去世,一说张仪接任魏相,一说楚国支持魏太子魏遫(即魏昭王)做了魏相。于是,魏、楚、齐等国合纵的局势又一次形成了。
楚怀王二十一年(前308年),秦武王派司马错从巴蜀水路攻打楚国的黔中一带,未能完全攻克。约同年,西周武公的共太子去世,楚王在昭翦的建议下扶持公子咎登上西周太子之位。
早在楚怀王十七年(前312年),楚国与秦、魏、韩对峙时,越国曾援助魏国战船、箭矢等武器。因此,楚王加紧了灭越的准备,以消除后顾之忧,并将领土扩展到江东一带。
楚怀王十九年至二十三年(前310-306年),熊槐派召滑在越国活动,制造越国内乱。前306年,越国大乱,楚国趁此机会进攻越国,将其灭亡,并在江东设郡。至此,楚国疆域空前辽阔,南至厉门塞(一作濑胡,后世广西桂林),东至句章(今浙江宁波)。
楚怀王二十一年(前308年)起,楚国在外交上转变为中立方。这一时期,楚国常常采用“假纵胁秦”的策略,试图通过作势援助、结交其他合纵国,来逼迫秦国割地赂楚(尤其是归还楚国的失地);一旦得地,楚国就会保持中立,乃至背叛合纵、与秦国连横。其中最有代表性的,便是宜阳之战和皮氏之战。
楚怀王二十一年(前308年)秋,秦国攻打韩国的宜阳(后世河南宜阳县)。一开始,楚王曾想要救援韩国,因陈轸反对而作罢。同时,秦武王向楚国许诺了空头支票,称如果楚国愿意保持中立,秦国就会归还汉中,楚王应允。等到次年秦韩战事胶着时,楚国又背秦助韩,楚将景翠发兵干涉,作势要援助韩国。
此外,楚国还扬言要攻打给秦国借道的东周。但在东周君游说下,景翠没有实际参战,而是等到宜阳陷落后再进兵迫近秦韩两军。秦国害怕楚军会攻打疲敝的秦军,便将飞地煮枣献给楚国。战后,楚王又向秦国索要前一年许诺的汉中,秦王不同意。
楚怀王二十二年(前307年),秦武王崩,秦昭襄王即位。同年,熊槐第二次攻打韩国的雍氏。昭应率楚军持续围攻五月后,雍氏粮草殆尽。韩国向秦国求援,虽然此时宣太后因出身楚国而不愿救韩,但甘茂还是说服秦王救援韩国,于是楚国退兵。
同年,秦、楚联合攻打魏的皮氏(后世山西河津)。但旋即楚国背秦助魏,欲借机要挟秦国割地于楚;同时,魏太子魏遫来楚为质。面对这种情形,秦将樗里疾怒而与魏国讲和,并诱骗楚王放归魏太子,然后和魏国一起反攻楚国。但由于魏太子从中调停,最后三国各自罢兵而回。