四月十三日晨,大顺军由北京向山海关进发。行至三河县遇到了吴三桂派来的使者,谎称吴三桂仍愿意投诚,请求缓师。在这关键时刻,李自成又一次受骗了,他派明朝降官密云巡抚王则尧以兵政府尚书的官衔去山海关同吴三桂谈判,随即放慢了进军速度。从北京到山海关大约五天可达,大顺军却在八天之后即四月二十日才进抵关西。这时,才知道王则尧已被拘押,吴三桂和高第的军队在关内沿石河一线做好了作战准备,除了武力解决,没有招降余地了。四月二十一日上午辰时(约为八时),山海关战役开始。李自成为了全歼关辽兵,防止吴三桂部被击败后引残部出关降清,作出用兵部署:把主力放在石河西,另外派遣部分军队包抄至关内外,进攻山海关的东罗城、西罗城、北翼城。双方激战一昼夜,到二十二日上午吴三桂军已有不支之势,据守北翼城的一支吴军向大顺军投降。吴三桂见情况危急,亲自带领部分兵马和当地乡绅冲出关门,请清军立即参战。多尔衮统率的清军二十一日晚驻营距关城十里,二十二日晨进至离关城仅二里的威远台(在名叫欢喜岭的小丘陵上,今名威远城,实误)观战。经过几天的使者往返和亲身考察,多尔衮对吴三桂的处境和降清诚意已洞然于心。吴三桂到后当即“赐坐赐茶,面谕关门为第一功”。他对吴三桂等官绅说道:“汝等愿为故主复仇,大义可嘉。予领兵来成全其美。先帝时事,在今日不必言,亦不忍言。但昔为敌国,今为一家。我兵进关,若动人一株草、一颗粒,定以军法处死。汝等分谕大小居民勿得惊慌。”接着又吩咐吴三桂:“尔回,可令尔兵以白布系肩为号。不然,同系汉人,以何为辨?恐致误杀。”说完,让吴三桂立即回关准备接应,同时下令清军从南水门、北水门、关中门三路进关。
清兵进关后,见大顺军从北山至海边排列成一字长蛇阵,多尔衮即令清军沿近海处鳞次布列,吴三桂军排列于清军的右边,采取重点突破战术。这时正值大风扬尘,能见度很低,清军得以从容布阵。少顷,风止,多尔衮一声令下,清军呼啸出击,万马奔腾,飞矢如蝗。大顺军虽拼死抵抗,但强弱易形,兵员同吴三桂军已鏖战一昼夜,面对以逸待劳的清军很快就被击败,阵容大乱,大将刘宗敏也负了伤。李自成立马小岗阜上见败局已定,下令急速撤退。行至永平府范家店时,李自成决定将吴襄处斩。二十六日,回到北京,又杀吴三桂家属三十四口,可见李自成对吴三桂的勾引清兵、叛变欺诈极为痛恨。而吴三桂却在山海关战役刚刚结束就率领关辽军民剃发降清,由多尔衮承制封为平西王。
山海关战役是明清之际直接影响全国局势发展的一场关键性战役,对于推翻明朝后究竟是大顺朝廷还是清朝廷统治全国关系重大。战役的结果是清胜顺败,根本原因在于李自成等大顺军领导人目光短浅,政策和战略上犯了一系列重大错误。山海关战役的意义标志着:一、大顺军的历史使命从此由推翻明王朝转变为抗清斗争;二、清廷统治者梦寐以求的入主中原迈出了关键的一步;三、以吴三桂为倡首在汉族官绅中迅速形成了一股不可忽视的拥清派。