公元前323年,齐国于桑丘击败秦国入侵。此战役为秦国商鞅变法以来首次与齐国正面交锋的战役。秦国战败后,派陈轸为使,以“西藩之臣”的身份前去齐国向齐威王谢罪。此后二十余年间齐、秦两国再无交兵。
公元前325年,秦惠王称王,于公元前324年以张仪为秦相,并攻取魏国陕城。公元前323年,楚国在襄陵击败魏国,夺取魏国八个邑。秦相张仪策划"欲以秦、韩、魏之势伐齐、荆",向秦惠王献计,认为"和楚国一起进攻魏国,魏国受到挫折就会投向楚国,韩国本来是魏的友好国家,这样秦国就被孤立。不如出兵来迷惑他,魏国和楚国大战,秦国就可以取得河西以外的领土而回。"于是秦惠王反过来允诺魏国与之一起反击进犯的楚军,以便取得魏国西河之外的土地。
秦国挟胜魏国之威势,且帮魏国化解了楚军的继续进犯,因此便想趁势扩大战果。此前不久楚国大将昭阳大败魏国,夺取了襄陵附近的八座城邑,昭阳正打算以大胜魏国之威,移动军队攻齐,齐国势单力孤,秦国见此良机,于是假道韩、魏以攻齐国,企图借此挫败齐国的威势。
秦国借道魏韩向齐国展开军事行动,越过韩、魏、卫三国,佯攻大野泽左岸的阳晋,突然从阳晋南下至齐国西南重镇亢父,这里道路险恶,秦军想出其不意,从这里北上绕过右壤直插齐国的南阳腹地。这时齐威王任命匡章为将,率领齐军前去迎战。
秦军行至齐宋边界处的桑丘,和匡章率领的齐军主力相遇,齐、秦两军对垒扎营。秦军将领为了严明军纪,也为拉拢齐地人心,故下令:"有谁敢在距离柳下季坟墓五十步内的地方打柴的,便判死罪,绝不宽恕。"同时为了激励士气,还下令悬赏"有谁能得到齐王首级的,封万户侯,赏赐二万两黄金"。由于秦军是孤军深入,又必须顾及到后方,惟恐韩、魏二国在后图谋。所以秦军只是虚张声势威胁向齐出兵,实际上却犹疑不定不敢进攻。
匡章充分利用了秦军欲进不得、欲退不能的矛盾心理,在开战前夕,让双方使者多次互相来往。匡章借机变更了部分齐军的旗帜标记,混杂到秦军当中,等待配合齐国的主攻部队破敌。齐威王派往前线的探子不明白匡章的用意,悄悄向齐威王回报说:"章子让齐军加入秦军。"齐威王听了置之不理。
过了不久,又有前线回来的探子向齐威王回报:"匡章让齐军向秦军投降。"齐威王仍旧不理会。如此反复多次。朝廷众大臣见此情景,向齐威王请求说:"说章子失败降秦的探子,人不相同而言辞相同,大王为何还不发兵前去讨伐他呢?"齐威王胸有成竹地回答:"这很明显的不是背叛寡人的行动,为何要讨伐他呢!"
不久之后,匡章的战术大获成功,秦军被混进军营的齐军士兵和匡章的大部队内外夹攻,原本战意就不甚坚决的秦军一触即溃。齐国朝中得知前线传来齐军大胜的捷报。左右大臣吃惊,询问齐威王何以有此先见之明。齐威王告诉"章子的母亲启,由于得罪他的父亲,就被他的父亲杀死埋在马棚下,当寡人任命章子为将军时,寡人曾勉励他说:'先生的能力很强,过几天率领全部军队回来时,一定要改葬将军的母亲。
当时章子说:'臣并非不能改葬先母,只因臣的先母得罪先父,而臣父没有允许改葬先母而去世。臣没得到父亲的允许而改葬母亲,岂不是等于背弃亡父的在天之灵。所以臣才不敢为亡母改葬。'由此可见,作为人子不敢欺辱死去的父亲,难道他作人臣还会欺辱活着的君王吗?"尽管前线三次送来情报说匡章可能降秦,但齐威王都没有相信,一如既往信任匡章,坚持让匡章指挥作战,终于保住了这次抗秦战争的胜利。
秦国得知前线败讯,连忙派遣陈轸作为使者,以"西藩之臣"的身份前去齐国向齐威王谢罪。同时陈轸也替齐王游说楚将昭阳,使其退兵。不久以后,齐楚秦三国会盟于宋国啮桑,秦国改变战略,与齐国继续"连横",此后二十余年间齐、秦两国再无交兵。
桑丘之战是秦国在商鞅变法后的一次大败。此战使秦国决策者充分意识到“山东尚强”,秦国的实力和齐、楚这样的传统强国相比并不占有优势,所以在前318-前317年两度挫败合纵联军后,司马错向头脑发热的秦惠王进言:“今王之地小民贫”,贸然东进,未必利也,而劝其先攻灭巴蜀,稳步扩张实力,再图东方。
对日后的合纵家来说,桑丘之战也提供了宝贵的教训。秦军纵然越过韩、魏攻打齐国,也要担心韩、魏作乱于后,故而不能竭尽全力。所以在前312年的濮上之战和前298-前296年的函谷关之战中,秦、齐都设法把韩、魏和自己绑在一架战车上,既可增强战力,又无后顾之忧,故而能战胜孤立的对手而全胜以归。同时,此战后秦、齐两国的表现也揭示出,互不接壤的秦、齐两国互相攻击是不会给胜利者带来直接利益的、也不会给失败方以真正的打击,而通过秦、齐之争得利的只能是楚和三晋,这也为范雎提出“远交近攻”战略提供了现实依据。