秦昭襄王见赵违约不割六城,反而与东方诸国合纵对付秦国,遂于公元前259年10月,令五大夫王陵率军二十万兵伐赵,直攻赵都邯郸。

赵国大将廉颇率赵军十万顽强抵抗,赵相平原君赵胜亦散家财于士卒,编妻妾入行伍,鼓励军民共赴国难,王陵战至第二年,仍不能取胜。秦国增兵十万支援王陵,秦军五校(每“校”8000—10000人)阵亡,秦昭襄王命白起接替王陵为帅,白起称病推辞。秦昭襄王改令王龁接替王陵为主将,增兵十万继续围攻邯郸。秦军死伤近半,仍不能下。范睢于是举荐郑安平为将,率军五万携带大量粮草支援王龁,加强对赵的进攻。邯郸城内粮食耗尽,赵孝成王向魏、楚两国求救。

公元前258年,平原君赵胜奉命出使楚国。他想在门客中选拔二十名文武双全的随行人员,却只选出十九人。一门客毛遂自荐随往,赵平原君以为他在门下三年,未闻其能,不肯带他去。毛遂说:“臣乃今日请处囊中耳。使遂早得处囊中,乃脱颖而出,非特其末见而已”。赵平原君用人之际,就带毛遂同去了。这就是“毛遂自荐”。

赵平原君一行来到楚国,向楚考烈王陈述合纵抗秦的利害关系,从“日出”谈到“日中”,楚考烈王还是犹豫不决。毛遂于是拔剑而前,走近楚考烈王说:“今楚地五千里,持戟百万,此霸王之资也。以楚之强,天下弗能当。白起,小竖子耳,率数万之众,兴师以与楚战,一战而举鄢郢,再战而烧夷陵,三战而辱王之先人。此百世之怨而赵之所羞,而王弗知恶焉。合纵者为楚,非为赵也”。楚考烈王羞愧,“唯唯”答应,“歃血而定纵”。赵平原君回国后,楚国出兵十万救赵。

魏安僖王派晋鄙率军十万救赵。秦昭襄王派人威胁魏安僖王说:“诸侯中有敢于救赵者,败赵后首先攻先救赵者”。魏安僖王恐惧,命晋鄙大军暂停于邺(今河北省临漳县西南)观望。魏信陵君魏无忌依靠魏安僖王宠妃如姬盗得虎符,带勇士朱亥杀晋鄙,夺其兵权,并挑选八万精兵进击秦军。这就是“窃符救赵”。楚春申君黄歇亦率军救赵。秦军作战失利,秦昭襄王又令白起领兵攻赵。白起始终托病不出。秦昭襄王罢其官爵,白起在杜邮(今陕西省西安市西北)。

魏楚援军到来之前,赵胜招募3000敢死队,命李谈率领进击秦军,击退秦军30里,李谈战死,赵王封其父为李侯。