관군이 무너지자 백성들이 스스로 무기를 들었다. 경상도 의령의 곽재우(홍의 장군), 전라도의 고경명·김천일, 충청도의 조헌, 함경도의 정문부 등이 고향 지리를 이용해 일본군을 괴롭혔다. 서산대사 휴정과 사명당 유정이 이끈 승병도 싸웠다. 1592년 10월 진주성에서는 목사 김시민이 적은 병력으로 일본 대군을 물리쳤다(진주 대첩).
조선의 요청을 받은 명나라는 1592년 말 이여송이 이끄는 4만여 명을 보냈다. 조·명 연합군은 1593년 1월 평양성을 되찾았다. 그러나 한양으로 내려가던 명군은 벽제관에서 일본군에 지면서 진격을 멈추었다.
1593년 2월 권율은 한강 가의 행주산성에서 3만이 넘는 일본군의 공격을 물리쳤다(행주 대첩). 보급이 끊기고 사기가 떨어진 일본군은 4월 한양에서 물러나 남해안에 성을 쌓고 머물렀고, 명과 일본 사이에 강화 협상이 시작되었다. 조선은 이 무렵 새 군대 훈련도감을 만들어 조총 부대를 길렀다.