벽제관에서 남쪽 3㎞ 지점에 있는 여석령(礪石嶺 : 일명 숫돌고개)에서 일어났으므로 여석령전투라고도 한다.
평안도 방면으로 진격했던 일본군은 임진왜란이 일어난 다음 해 1월 이여송(李如松)이 거느린 명나라 원병과 조선 관군에 의해 평양성에서 대패하였다. 그리고 평양성에 있던 고니시 유키나가(小西行長) 등은 황해도에 주둔하고 있던 구로다 나가마사(黑田長政)의 도움을 받아 서울로 도망해 돌아왔다.
이때 개성수장 고바야가와(小早川隆景)는 끝내 사수할 것을 결심하였다. 그러나 수차에 걸친 우키다(宇喜多秀家)의 철수권유 때문에 퇴각하기는 하였으나 서울 성안으로 들어오기를 거부하였다. 대신 다치바나(立花統虎)와 같이 성밖에서 명나라군과 대결할 것을 결심하였다.
당시 서울에 집결한 일본군의 총병력은 5만에 이르렀다. 함경도로 진격했던 가토(加藤淸正) 등의 약 2만의 군사만이 아직 철수하지 못하였다. 서울에 집결한 일본군은 패장 고니시와 오토모(大友吉統)를 제외한 4만여의 장졸로 고바야가와를 선봉장으로 삼아 반격을 시도하였다.
한편 명나라군은 평양 승전의 여세를 밀고 나와 개성에 집결, 작전회의를 끝내고 1593년(선조 26) 1월 25일 서울을 향해 출발하였다. 일본군의 주력을 격멸하고 서울을 수복하려던 것이었다. 이때 일본군은 명나라 병사를 요격하려고 북상중에 있었고 선봉은 여석령에 진을 치고 있었다.
명나라의 선봉장인 부총병 사대수(査大受) 등이 최초로 이 부대와 회전하였다. 그러나 전세가 불리해 벽제역까지 퇴각하였다. 이 소식을 들은 이여송은 혜음령(惠陰嶺)을 넘어 벽제관으로 급행, 망객현(望客峴)으로 진출하였다. 이에 양군 사이에 치열한 격전이 벌어졌다.
고바야가와가 거느린 일본군은 3대(隊)로 나누어 명나라군을 포위 공격하였다. 포병이 도착하지 않은 명나라군은 기병만으로 고전을 면하지 못하였으며, 사방에서 조총의 집중사격을 받아 참패하였다. 이여송은 지휘사(指揮使) 이유승(李有昇)의 희생으로 간신히 탈출할 수 있었다.
단, 늦게 도착한 부총병 양원(楊元)이 거느린 화군(火軍)의 맹활약으로 일본군은 혜음령을 넘지 못하고 철수하였다. 명나라군은 일본군의 추격으로부터 탈출, 파주로 후퇴하였다가 개성으로 물러났다.
이 싸움에서 조선의 도원수 김명원(金命元) 등은 이여송이 적을 경시하고 무모하게 진격하는 것을 깨달았다. 그래서 명나라 원군의 뒤를 따라 떨어져 행동했으므로 조선군의 손실을 면할 수 있었다. 유성룡(柳成龍) 등은 이여송에게 재공격을 주장하였으나 겁을 먹고 듣지 않았다.
이 후 함경도에 있는 가토의 군이 양덕(陽德) · 맹산(孟山)을 넘어 평양을 기습한다는 근거없는 소문이 들렸다. 이에 명나라군은 부총병 왕필적(王必迪)을 개성에 머물게 하고, 조선의 제장에게도 임진강 이북에 포진할 것을 명한 다음 다시 평양으로 회군하였다. 결국 이 싸움에서의 패배로 인해 그 뒤 명나라군의 행동에는 적극성이 줄어들고 일본군을 섬멸할 기회를 놓쳐버렸다.