山海關城,依山臨海,與長城連為一體,防禦十分嚴密。隻要有足夠的軍隊防守,任何強大的敵人都很難輕易破關。從努爾哈赤到皇太極,幾十年來,後金——清軍一直懾於山海關無懈可擊的防禦體係,從不敢冒險強行攻打關城,每次進兵總是取道內蒙古,從北部長城諸隘口破牆而入。但此時不同,吳三桂麾下雖說有五萬遼兵,但已缺餉十四個月,僅靠李自成上次送來的四萬兩犒師銀和城內士紳籌集的少量餉銀辛苦維持。而對手則是剛剛攻占北京,一路勢如破竹,聲勢浩大的農民軍。因此,吳三桂不敢怠慢,一方麵聯絡清軍,一方麵加緊布置城防,並派遣部將向農民軍“詐降”,謊稱還有議和的可能。李自成也果真上當,放慢了進軍速度,派手下去上海關與吳三桂談判。結果京城到山海關原本三四日的行軍路程,居然走了九天,直到四月十九日李自成大軍才抵達關前。發現上當的李自成作出了最後一次勸降努力,遭到吳三桂的斷然拒絕。次日清晨,李自成揮師向吳軍攻來。戰鬥首先在山海關前的石河以西(今山海關區燕塞湖一帶)展開。對於農民軍來說,此戰是奪取北關鎖鑰,阻擋清兵進路,鞏固在北京建立的統治的關鍵一戰;而對吳三桂來說,則是決定生死存亡、性命攸關的背水一戰。因此,雙方皆拚死力戰。
戰鬥持續了一天一夜,吳軍數次將農民軍的進攻打退,雙方皆傷亡慘重,但吳軍終歸寡不敵眾,逐漸有些招架不住。就在這時,疲憊不堪的吳三桂終於等到了清軍接近的消息。當夜,吳三桂多次派使者到清營,敦請多爾袞盡速入關。
但多爾袞卻並不急於參戰,而是僅推進至山海關東側四五裏處的歡喜嶺便就地紮營。之所以如此,一是因為雙方長期處在敵對狀態,難免有所懷疑,故多爾袞暫緩前進,以探虛實。此外,多爾袞也在等待最佳時機,隻有讓吳三桂陷入絕境的時候,才能逼其就範,反客為主。
二十二日,吳三桂見清軍拖延不動,心急如焚,急忙又派使者前去催請。這次多爾袞作出回應,他派出大學士範文程隨同使者返回山海關,麵見吳三桂。範文程是清朝的高級決策人物,他的到來,對吳三桂是個很大的鼓舞。經過一番密談,吳三桂決定親自到清營與多爾袞麵談,當即率領數百親兵,突圍至歡喜嶺清軍駐地。
得知吳三桂的到來的消息,多爾袞非常興奮,當即大呼:“天下在掌中矣!”親自率眾出迎。
據史書記載,此次麵談,吳三桂慷慨而言,“情詞懇切”“聲淚俱下”。他向多爾袞提出:清軍入關與吳軍合力擊敗農民軍,但不得傷害關內百姓,不得侵犯明朝的陵寢。戰爭勝利後,擁立故明太子或永王、定王在南京即位複國。作為回報,明朝將北部山河劃給清朝,雙方以黃河為界,世代結成友好鄰邦。
多爾袞在出兵前,曾與範文程、洪承疇等人詳細討論,初步確定此戰的目標是奪取河北等北方數省,如果進展不順就再次劫掠中原後退回關內。哪知剛剛進軍就遇到吳三桂請兵之事,如今他又親自前來,提出願與清兵合擊李自成,消滅清朝奪取天下的勁敵,還提出“裂土”酬謝,把黃河以北土地讓給清朝,這是完全符合他的既定目標的。因此多爾袞當即表示要與吳三桂歃血為盟,並保證克期出兵,秋毫無犯。但同時,多爾袞又玩弄了一個花招。他提出:由於農民軍與吳兵裝束甲仗相似,無法辨認,恐致誤傷,要求吳三桂與其將士“剃發”以相區別。
此話表麵是拿“避免誤傷”作文章,實際上是逼迫吳三桂投降。因為傳統儒家思想中有“身體發膚取之父母,不可輕動”的要求,因此漢族政權統治下的臣民從小就不會擅自剪發,一般用頭巾或冠帶將頭發束起,保持始終。在中國古代,還有一項強行給犯人剃光頭發的刑罰,叫“髡”,表示對犯人的巨大侮辱。而契丹、女真、蒙古等民族則大都不會秉承這一傳統。以女真人為例,男子在很小的時候就會剃光前額及兩側頭發,僅留後腦餘發,梳起辮子,後人稱之為“金錢鼠尾式”。在幾十年的明清(金)戰中,清人逐漸以剃發與否作為順逆的標誌,從第一個投降後金的前明遊擊將官李永芳,到渡海來降的孔有德、耿仲明、尚可喜,以及鬆錦戰敗的洪承疇、祖大壽等大小漢族將領,在正式投降時都要先行剃發。及至清軍入關後,“剃發令”推行全國,竟提出“留發不留頭,留頭不留發”的殘酷諭令,可以證明,“剃發”實際上就是投降清朝的代名詞。