秦军灭赵、破燕并魏后,紧接着大举进攻楚国。当时楚仍为中国南方大国,拥有今河南西部及东南部,山东南部,湖北、湖南两省,洞庭湖以东和江西、安徽、江苏、浙江全部。
楚国此时尚有对秦作战所需要的实力。秦始皇认为年少壮勇的将军李信,曾以数千兵急追燕太子丹于衍水,并获得了胜利,是率兵攻楚的理想将领。于是便委以重任,并问李信说,如果派兵攻楚,需要多少兵马?李信答复说“不过用20万人”。始皇又问王翦,王翦则说“非60万人不可”。始皇不同意王翦的意见,而同意李信的说法,当即说:“王老将军老矣,何怯也!李将军果然壮勇,其言是也。”王翦以言不见用,谢病告老,归还频阳。李信则受命为秦军统帅,与蒙恬率兵20万对楚进攻。李信把兵力集中于颖川郡,鉴于秦楚接界多为平原,无险可扼,认为这次作战的目的在于歼灭楚之野战部队。李信判断,当秦军向楚进攻时,楚军为抗御秦军之进攻,必将兵力集中于汝水两岸,即淮阳、商水、上蔡边界地区。进而决定采取两翼钳形攻势,包围歼灭楚军。于是确定以部分军队由蒙恬指挥,沿汝河两岸前进,从正面进攻楚军。主力军由李信亲自指挥,从汝水以南,经过舞阳、平舆、新蔡、颍邑迂回楚军左侧翼,与蒙恬军会师,包围楚军,聚而歼之。
秦军排除楚边境部队的抵抗,于汝河南北分向寝、平舆展开攻击,击破楚军,李信军占领了平舆,蒙恬军占领寝城。秦军未遇楚军重大抵抗,进占两城后,渡过洪河东进。楚军统帅项燕以秦军转变进军方向,孤军深入,立即率楚军主力,兼程急进,追击秦军于棠溪,给秦军以沉重打击。李信战败,率军往城父方向撤退。楚军乘胜猛追,三昼夜战斗不息。秦军连日所筑营垒,都被楚军攻破,都尉一级将领7人阵亡,李信军损失惨重,多亏城父蒙恬军的掩护,李信得以突围逃回秦境,才免被俘。这是秦统一战争中宜安战后,又一次重大的挫折。
秦军遭受重大挫折,秦始皇虽然感到自己当初对统帅人选有误,但并未动摇灭楚之决心,仍然继续进行灭楚战争。李信失败后,秦军统帅一职只有重行起用王翦。秦始皇移樽就教,亲往王翦家乡频阳邀请王翦出任秦军统帅。王翦谢绝说,身体不好,难以从命。秦始皇则坚持请他出征,并问他有什么要求。王翦此时才说:“大王必不得已用臣,非60万人不可”。秦始皇应允。王翦于是接替李信,担任秦军统帅,率领60万大军对楚作战。秦始皇亲送王翦至京郊灞水之滨。王翦请求秦王多赐给他一些田宅。秦王答应了他的要求,王翦遂带兵东去。
王翦根据已往长期作战经验,知道楚军和赵军都具有坚强的战斗意志,是能战能守的军队。楚军新近击破李信指挥的秦军,锐气旺盛,斗志昂扬,对付这样的敌人,不仅没有胜利的把握,一旦行动不慎,还会影响整个战争前途。所以王翦进入楚国后,即令部队在商水、上蔡、平舆一带地区构筑坚垒,进行固守,并令部队不许出战。休整待命,故双方相持数月没有大的交战。
楚对秦军大举东进,也集中全部兵力应战。当时秦已灭三晋,无后顾之忧,有物力的大量支援,能够打持久战。楚则无论军事、政治都远为落后。统帅项燕仍然集中楚军主力于寿春淮河北岸地区,等待秦军的进攻。楚王责怪项燕怯战,派人数度催他主动进攻秦军。项燕军只得向秦军进攻,但既攻不破秦军的营垒,秦军又拒不出战,项燕无奈,引军东去。王翦立即令全军追击楚军,楚军为涡河所阻,双方交手,楚军被击破东逃。秦军追至蕲南,平定楚属各地。斩杀楚将项燕,王翦率兵直取楚都寿春,楚国首都被秦军攻陷,楚王熊负刍被俘。秦军进军蕲南,只经1年多的作战,号称南方赫赫之强国的楚,便冰消瓦解。
秦始皇二十年(公元前227年),秦派将军王翦、辛胜率军对燕作战。统帅王翦以直接攻略燕国首都蓟城为作战目标。同时判断燕军必然依托燕赵大道经过的各河川作抵抗,尤其燕赵界上较大河流易水定有重兵守备,不宜将主力投入正面进攻。易水下游,河流深广,渡河不易,由易水上游山地迂回包围易水正面燕军,可出敌意外,容易成功。
于是,王翦决定以部分兵力由中山(今河北定县)北攻燕。燕军与代郡赵嘉部赵军,已组织了联合部队于易水北岸抗击秦军。王翦以秦军主力,迂回易水上游,包围易水燕代军右翼,双方在易水以西相遇,秦军击破燕军,赵军撤回代郡,燕军残部向蓟城退却。秦继续对燕进攻,击破燕军抵抗,进围燕都。燕无固守首都决心,向辽东撤退,使秦军轻取蓟城。王翦攻克燕国首都后,立即派将军李信率军急追东退的燕军,追击到衍水击破燕太子丹率领的残部。此时逃到辽河流域的燕统治者,认为秦军攻燕,是完全由太子丹的谋刺阴谋引起,祸起于太子。赵嘉亦劝燕王杀太子丹,献首于秦以求和。于是燕王杀太子丹,献首求和,但秦军并没有因此而停止其军事进攻。