1920년 10월 22일 갑산촌 전투 이후 어랑촌 일대로 이동하던 북로군정서(北路軍政署)는 천수평에서 마을 주민들로부터 부근의 천수동(泉水洞)에 일본군 기병대가 천막을 치고, 숙영을 하고 있다는 정보를 입수하였다. 김좌진(金佐鎭) 부대는 기습 공격을 결정하고 야음을 이용하여 접근하였다.
숙영 중이던 일본군은 동(東)지대에 배속된 기병 연대 중 1개 중대를 제외한 나머지 부대였다. 일본군 기병 연대는 최초 청산리 일대의 독립군이 노령 방향 등으로 탈출하는 것을 차단하기 위하여 이동 중에 있었다. 그러나 기상 여건이 악화되고, 도로 사정 역시 좋지 않아서 도중에 일본군 동지대 사령부와 예비대가 주둔한 어랑촌 인근의 천수평 일대로 이동하여 숙영 중이었다.
김좌진 부대의 공격은 성공적이었다. 일본군 기병 부대는 어랑촌 본대로 탈출한 4명을 제외하고는 전멸하였다. 이후 어랑촌 일대의 동지대 예비대가 천수평 일대로 증원되자 김좌진 부대는 방어가 유리한 874고지 일대로 이동하여 방어 진지를 구축하고 일본군 동지대 본대의 공격에 대응하였다. 전투 과정에서 북로군정서는 상당한 전과를 올릴 수 있었다. 『독립신문』에서는 ‘사격 개시 20분 만에 일본군 300여 명이 전사했다’고 보도하였다.