潼关北临黄河,南踞山腰,扼秦、晋、豫三省要冲,南有秦岭,西近华岳,周围山连山,峰连峰,谷深崖绝,山高路狭,中通一条羊肠小道,仅能过得一车一马。当地人用“细路险与猿猴争”、“人间路止潼关险”来形容此处的险要。
当年孙传庭驻守潼关之时,增建十二连城,又重修禁沟,使兵分驻十二连城和禁沟,每城驻兵百人,多设火器石,连络呼应,疾若风雨,使得李自成奈潼关不得。孙传庭曾与左右说道,守关而不守禁沟者,守犹未守也;守禁沟而不建十二连城者,守犹未善也。
崇祯年间兵部侍郎张凤翔曾向崇祯帝进言,称孙传庭所部皆天下精兵良将,是大明朝的最后家当,万不可轻动。然而崇祯帝却不纳张凤翔意见,逼迫孙传庭出战李自成。孙传庭不得已亲率白广恩、高杰等部10万人出师潼关,同时檄左良玉西上,总兵陈永福、秦翼明分别将河南与四川兵互为犄角。最后的结果是孙传庭在汝州兵败,李自成一日内追杀四百里地,直撵孟津,明军四万余人战死,损失大量兵器辎重,李自成轻松攻克再无精锐驻守的潼关。
然而取得了潼关战役胜利的李自成却不曾想到,两年后,他会在同样的地方被清军击败。
入关前清军就曾有过四次入关,并且向关内派出了大量细作,潼关之险要自早在清军掌握之中。清廷对夺取潼关高度重视,多尔衮派胞弟多铎亲自率军进攻潼关,又增派固山额真阿山、马喇希等统兵经山西蒲州渡河协征,并且急调红衣大炮供攻关之用。
顺治元年十二月二十九日,潼关战役开始。大顺军主将刘宗敏先战,失利。次年正月初四日,刘芳亮领兵出战,又被清军击败;李自成亲自率领马、步兵迎战,多铎命令八旗兵全力反击,大顺军再次失利,步兵损失很多。初五、初六两天,大顺军连续利用夜间袭击清军营垒,都没有取得效果。初九日,清方红衣炮军到达;十一日,清军进逼潼关口,大顺军“凿重壕,立坚壁”加强防守。
清军先用红衣大炮轰击,随即大举进攻。在不利的情况下,大顺军仍然顽强拼搏,力图扭转战局,先派骑兵反击,又调遣部分兵马迂回到清军阵后突击,都被清军击败。正在这个关键时刻,清英亲王阿济格部大批军队已经进入陕北,尽管李过、高一功在延安、榆林英勇抗战,阿济格为了夺取西安,只留下大同总兵姜瓖率领一批明朝降将继续攻城,牵制陕北大顺军,自己却统领大军南下,向西安推进。
李自成深知原驻西安主力已经调到潼关,如果继续在潼关同多铎部硬拼,西安必将被阿济格部攻占,大顺政权的文武官员、将士家属以及重要物资都很难保住。在两路清朝大军的合击下,李自成被迫决定主动放弃陕西,另寻出路。
李自成撤走后,留守潼关的巫山伯马世耀向清军伪降,潼关至此失守。伪降清军当夜,马世耀派人秘密送信给李自成,请他回师潼关,自己从中响应,内外夹击,击破多铎部清军。不料密使被清军截获,第二天,多铎以打猎为名,在潼关西南十里的金盆口设下埋伏,然后谎称举行宴会,把马世耀部下的马匹器械全部解除,一声号令,埋伏的清军突然冲出,把马世耀和他部下七千余名大顺军将士全部屠杀。