秦惠王時蜀亂,國人相攻擊,告急於秦。秦惠王欲發兵伐蜀,以為道險狹難至,而韓人侵秦。秦惠王欲先伐韓,恐蜀亂;先伐蜀,恐韓襲秦之弊,猶與未決。司馬錯與張子爭論於惠王之前,司馬錯欲伐蜀,張子曰:"不如伐韓。"王曰:"請聞其說。"對曰:"親魏善楚,下兵三川,塞什穀之口,當屯留之道;魏絕南陽,楚臨南鄭,秦攻新城,宜陽,以臨二周之郊,誅周王之罪,侵楚、魏之地。周自知不救,九鼎寶器必出。據九鼎,按圖籍,挾天子以令於天下,天下莫敢不聽,此王業也,今夫蜀西僻之國,而戎狄之倫也,弊兵勞眾,不足以成名,得其地不足以為利,臣聞爭名者於朝,爭利者於市,今三川周室,天下之朝市也,而王不爭焉,顧爭於戎狄,去王遠矣。"司馬錯曰:"不然。臣聞之欲富者務廣其地,欲強者務富其民,欲王者務博其德,三資者備而王隨之矣。今王地小民貧,故臣願先從事於易。夫蜀西僻之國,而戎狄之長也,有桀紂之亂,以秦攻之,譬如以豺狼逐群羊也。得其地足以廣國,取其財足以富民繕兵,不傷眾而服焉。服一國而天下不以為暴,利盡西海而諸侯不以為貪,是我一舉而名實附也,又有禁暴正亂之名。今攻韓劫天子,劫天子,惡名也,而未必利也。有不義之名,而攻天下所不欲,危矣。臣請竭其故:周,天下之宗室也;齊,韓之與國也。周自知失九鼎,韓自知亡三川,將二國並力合謀,以因乎齊,趙,而求解乎楚、魏,以鼎予楚,以地予魏;以鼎予楚,以地予魏,王不能止,此臣所謂危也,不如伐蜀完秦。"惠王曰:"善。寡人請聽子。"卒起兵伐蜀,十月取之,遂定蜀,蜀王更號為諸侯,而使陳叔相蜀,蜀既屬秦,秦日益強富厚而製諸侯,司馬錯之謀也。
楚使黃歇於秦,秦昭王使白起攻韓、魏,韓、魏服事秦,秦王方令白起與韓、魏共伐楚。黃歇適至,聞其計,是時秦已使白起攻楚數縣,楚頃襄王東從。黃歇上書於秦昭王,欲使秦遠交楚而攻韓、魏以解楚。其書曰:"天下莫強於秦、楚,今聞王欲伐楚,此猶兩虎相與鬥,兩虎相與鬥,而駑犬受其弊也,不如善楚。臣請言其說:臣聞之,物至則反,冬夏是也;致高則危,累棋是也。今大國之地遍天下,有其二垂,此從生民以來,萬乘之地,未嚐有也。今王使盛橋守事於韓,盛橋以其地入秦,是王不用甲不信威,而得百裏之地也,王可謂能矣。王又舉甲而攻魏,杜大梁之門,舉河內,攻燕、酸棗、虛、桃、入邢,魏之兵雲翔而不敢救,王之功多矣。王休甲息眾,二年而複之,有取滿、衍、首、垣,以臨仁,平丘,黃,濟陽、甄城,而魏氏服,王又割濮,曆之北,注之齊、秦之要,絕楚、趙之脊,天下五合六聚而不敢相救,王之威亦單矣。
王若能恃功守威,挾戰功之心,而肥仁義之地,使無後患,三王不足四,五伯不足六也。王若負人徒之眾,兵革之強,乘毀魏之威,而欲以力臣天下之王,臣恐其有後患也。詩曰:'靡不有動,鮮克有終。'易曰:'狐涉水,濡其尾。'此言始之易終之難也。何以知其然也。智伯見伐趙之利,不知榆次之禍;吳見伐齊之便,而不知幹隧之敗。此二國者,非無大功也,沒利於前,而易患於後也。吳之親越也,從而伐齊,既勝齊人於艾陵,還為越人所禽於三渚之浦。知伯之信韓、魏也,從而伐趙攻晉陽之城,勝有日矣,韓、魏畔之,殺知伯瑤於鑿台之上。今王妒楚之不毀也,而忘毀楚之強韓、魏也,臣為王慮而不取也。詩曰:'大武遠宅而不涉。'從此觀之,楚國,援也;鄰國,敵也。詩曰:'躍躍兔,遇犬獲之。他人有心,予忖度之。'今王中道而信韓、魏之善王也,此吳之親越也。臣聞之,敵不可假,時不可失。臣恐韓、魏卑辭除患,而實欺大國也。何則?王無重世之德於韓、魏,而有累世之怨焉。夫韓、魏父子兄弟,接踵而死於秦者,將十世矣,本國殘,社稷壞,宗廟隳,刳腹絕腸,折顙折頸,身首分離,暴骨草澤,頭顱僵仆,相望於境,係臣束子為群虜者,相及於路,鬼神潢洋無所食,民不聊生,族類離散,流亡為仆妾者,盈海內矣,故韓、魏之不亡,秦社稷之憂也。今王齎之與攻楚,不亦過乎!
且王攻楚,將惡出兵?王將借路於仇讎之韓、魏乎?出兵之日,而王憂其不反也,是王以兵資於仇讎之韓、魏也。王若不借路於仇讎之韓、魏,必攻隨水右壤,隨水右壤,此皆廣川大水,山林溪穀,不食之地也。王雖有之,不為得地,是王有毀楚之名,而無得地之實也。且王攻楚之日,四國必悉起兵以應王,秦之兵構而不離,韓、魏氏將出兵而攻留、方、與钅至、胡陵、碭、蕭、相,故宋必盡。齊人南麵,泗北必舉,此皆平原四達膏腴之地也,而使獨攻。王破楚以肥韓、魏於中國而勁齊。韓、魏之強,足以校於秦,齊南以泗水為境,東負海,北倚河而無後患。天下之國,莫強於齊、魏,齊、魏得地保利而詳事下吏,一年之後,為帝未能,其於禁王之為帝有餘矣。夫以王壤土之博,人徒之眾,兵革之強,一舉事而樹怨於楚,出令韓、魏歸帝重於齊,是王失計也。臣為主慮,莫若善楚,秦、楚合為一而以臨韓,韓必拱手,王施之以東山之險,帶以曲河之利,韓必為關內之侯,若是而王以十萬伐鄭,梁氏寒心,許鄢陵、嬰城,而上蔡、召陵不往來也,如此而魏亦關內侯矣。王一善楚而關內兩萬乘之主,注入地於齊,齊右壤可拱手而取也。王之地一極兩海,要約天下,是燕、趙無齊、楚;齊、楚無燕、趙,然後危動燕、趙,直搖齊、楚,此四國者,不待痛而服也。"昭王曰:"善。"於是乃止白起,謝韓、魏,發使賂楚,約為與國。黃歇受約歸楚,解楚之禍,全強秦之兵,黃歇之謀也。