公元前262年,秦昭王派大將白起攻打韓國,占領了野王城即今河南沁陽,切斷了韓國上黨郡和國都的聯係。韓國想獻出上黨郡向秦求和,但是上黨郡守馮亭不願降秦,請趙國發兵救上黨郡。
公元前260年,秦國派左庶長王齕攻韓,奪取上黨。上黨的百姓紛紛逃往趙國,趙駐兵在長平即今山西省高平市長平村,以便鎮撫上黨之民。農曆四月,王齕攻趙,趙孝成王派廉頗為將抵抗。
雙方爭戰僵持多日,廉頗根據敵強己弱,初戰失利的形勢,決定采取堅守營壘以待秦兵進攻的戰略。
秦軍多次挑戰,趙國卻不出兵,趙王為此屢次責備廉頗。秦相應侯範雎派人攜千金向趙國權臣行賄,用離間計,散布流言說:“秦國所痛恨、畏懼的,是馬服君趙奢之子趙括,廉頗容易對付,他快要投降了。”
趙王既怨怒廉頗連吃敗仗,士卒傷亡慘重,又嫌廉頗堅壁固守不肯出戰,因而聽信流言,便派趙括替代廉頗為將,命他率兵擊秦。
趙括上任之後,一反廉頗的部署,不僅臨戰更改部隊的製度,而且大批撤換將領,使趙軍戰力下降。秦見趙中了計,暗中命白起為將軍,王齕為副將。
白起麵對魯莽輕敵,高傲自恃的對手,決定采取後退誘敵,分割圍殲的戰法。白起命前沿部隊擔任誘敵任務,在趙軍進攻時,佯敗後撤,將主力配置在縱深構築袋形陣地,另以精兵五千人,楔入敵先頭部隊與主力之間,伺機割裂趙軍。
農曆八月,趙括在不明虛實的情況下,貿然采取進攻行動。秦軍假意敗走,暗中張開兩翼設奇兵挾製趙軍。趙軍乘勝追至秦軍壁壘,因為秦早有準備,所以壁壘堅固不得攻入。白起令兩翼奇兵迅速出擊,將趙軍截為三段。趙軍首尾分離,糧道被斷,秦軍又派輕騎兵不斷騷擾趙軍。趙軍的戰勢危急,隻得築壘壁堅守,以待救兵。
秦王聽說趙國的糧道被切斷,親臨河內督戰,征發15歲以上男丁從軍,賞賜民爵一級,以阻絕趙國的援軍和糧草,傾全國之力與趙作戰。
到了農曆九月,趙兵已斷糧四十六天,饑餓不堪,甚至自相殺食。趙括走投無路,重新集結部隊,分兵四隊輪番突圍,始終不能突圍。
於是,趙括親率精兵出戰,被趙軍射殺,趙軍大敗,四十幾萬士兵投降白起。白起使詐,把趙降卒全部坑殺,隻留下二百四十個小兵回趙國報信,趙國上下為之震驚。
之後,趙國的平原君寫信給其妻子的弟弟即魏國的信陵君,委托他向魏王發兵救趙,於是信陵君就去求魏王發兵救趙,魏王派晉鄙率十萬大軍救趙。
但是,由於秦昭王的威脅,魏王隻好讓軍隊在鄴城待命。信陵君為了救趙,隻好用侯嬴計,竊得虎符,殺魏國大將晉鄙,率兵救趙,在邯鄲大敗秦軍,才避免趙國的過早滅亡。
兩千多年前的這場戰役是殲滅戰的鼻祖,秦國大將白起大破紙上談兵的趙括,一舉坑殺趙國降卒四十萬人,卻不由讓人心生感慨,不僅讓後世有了“紙上談兵”的警戒,而且更讓人體會到戰爭的殘酷。