次伐楚,白起率数万秦军从武关方向大举攻楚。当时楚顷襄王“恃其国大,不恤其政”,国中上下离心,守备虚弱。白起决意死战,很快深入楚国腹地,先夺取邓(今湖北襄樊北),逼近楚国郢都北面的战略要地鄢(今湖北宜城东南)。鄢是楚的别都,也是郢都(今湖北江陵西北)的门户,势在必保。楚顷襄王增派楚军主力拼死守城。白起采取引水灌城的办法,在鄢城西筑起堵水的堨,引西山长谷水(即蛮水,亦称鄢水)入长渠(后世又称白起渠),把水从城西灌向城东。楚国军民溺死数十万人,楚军主力受到惨重损失,鄢城也随之陷落。白起又率军转向西南,攻取了位于郢都上游的西陵(即夷陵,今湖北宜昌南),截断了郢都与巫郡的联系。
秦昭襄王二十九年(前278年),秦军穿插到楚军背后,大破楚军,攻占楚国郢都,下令放火焚烧了在西陵的楚先王陵墓,以打击楚国的军心士气。随后乘胜向东进兵至竟陵(今湖北潜江西北)、安陆(今湖北安陆南),南攻到洞庭湖及其以南地,楚军溃不成军,相继退却到城阳(即成阳,今河南息县西北)、陈(今河南淮阳)。秦国以郢为南郡,封白起为武安君(能抚养军士,战必克,得百姓安集,故号“武安”),白起名震天下。
秦昭襄王三十年(前277年),白起与蜀中郡守张若率军攻占了巫郡及江南地区,在此设立黔中郡。
秦昭襄王三十四年(前273年),赵、魏合攻韩国北面的重镇华阳(今河南新郑北),韩国向秦求救,昭襄王便派白起、魏冉和客卿胡阳率军救援韩国。秦军采取出其不意、攻其不备的战术,以平均每日急行百里的行军速度进行长途奔袭,突然出现在华阳的战场上,赵、魏联军措手不及,遭遇大败,掳获赵、魏等国大将,斩首十三万,魏将芒卯败逃。又与领兵来援的赵将贾偃交战,溺毙赵卒二万人。最终魏国被迫献南阳与秦国求和。
秦昭襄王四十三年(前264年),白起攻打韩国汾水之畔的陉城(今山西曲沃东北),攻陷五城(一作九城),斩首五万。
秦昭襄王四十四年(前263年),白起攻占韩国位于太行山南的南阳地(今太行山南与黄河之间地),目的在于截断韩上党郡与其南半部的联系,夺取上党。
秦昭襄王四十五年(前262年),白起攻占韩国野王(今河南沁阳),上党通往都城的道路被绝断。韩桓惠王命上党郡守冯亭把上党郡献给秦国,以求秦国息兵。冯亭不愿降秦,便遣使投降赵国。赵孝成王根据平原君赵胜等人的计谋,封冯亭为华阳君,派平原君去上党接收土地,同时派大将廉颇率军驻守长平(今山西高平西北),以防备秦军来攻。
赵国接受上党,为秦赵两国的长平之战点燃了导火索。秦昭襄王四十七年(前260年),秦国大将王龁攻韩,夺取上党,然后攻赵。此时,廉颇在长平布置了三道防线:第一道是空仓岭防线,第二道是丹河防线,第三道防线是百里石长城。三道防线东西数十里,星罗棋布,互相连接。
秦军与赵军的第一次遭遇战,发生在第一道防线以西的山谷。混战中,秦军斩杀赵国前锋,突破空仓岭,攻占赵军前线重镇光狼城。赵军于空仓岭陷落后,似乎曾作过加固南北两翼以钳制深入之敌的努力,结果没有成功,终于空仓岭南北几十里防线西垒壁(一作西长垒)完全陷落。
秦军攻势锐不可当,赵军连战不利,损失很大。廉颇重新分析敌我态势,在看到地形因素不利于赵军,而秦国补给线远比赵军漫长,后勤保障比赵国困难,决心放弃不易防守的丹河西岸阵地,全军收缩至丹河以东第二道防线,构筑壁垒,决心以逸待劳,以图挫动秦军锐气,坚守待变。从坚守的战术目的来看,廉颇是成功的,秦军无论怎么攻打都突破不了丹河防线,秦赵两军形成对峙局面。
战争持续了三年,秦军损兵折将。《战国策·齐策二》载:“秦攻赵长平,赵无以食,请粟于齐而齐不听。”战略相持赵国无法继续支撑下去,赵国的粮食产量只有秦国的三分之一,战争相持三年,二十万大军的巨额消耗使得赵国经济实力不济的弱点完全暴露,更急于结束战争。加之阏与之战,赵奢大败秦军,使得赵国心存侥幸心理,如果集中兵力决一死战,或许秦国并不是不能战胜,所以改变了坚守的策略,用赵括替换了廉颇。
赵国更换主将对抗秦军的同时,秦昭襄王也秘密派遣白起为上将军,奔赴前线领军。白起面对轻敌的对手,决定采取后退诱敌,分割围歼的战法。他命前沿部队担任诱敌任务,在赵军进攻时,佯败后撤,将赵军吸引进秦军主力构