1920년 10월 18일부터 독립군 연합 부대는 추적하는 일본군 동(東)지대와 계속해서 산발적인 교전을 벌였다. 홍범도(洪範圖: 1868~1943)가 이끄는 대한독립군은 독립군의 전력을 보전하기 위해 수립한 피전책(避戰策)에 따라 일본군의 탄압 지역 밖에 있는 안도현으로 이동하기 위하여 고동하(古洞河)를 따라 이동하였다. 25일 고동하 계곡 일대에서 홍범도 부대 300여 명 및 김좌진 부대 예하의 약 30여 명이 함께 숙영하고 있었다. 독립군을 추적하던 일본군은 이날 밤 10시경 고동하 계곡에서 숙영 중인 독립군의 흔적을 발견하였다. 일본군은 밤 12시경에 야음을 이용하여 독립군 야영지를 기습하였다.
그러나 홍범도 부대 일부는 이미 이러한 야습에 대비하여 고동하 계곡 사방의 산정에 매복 중이었다. 때문에 일본 수색 부대의 공격을 조기에 감지하여 대응할 수 있었다. 독립군 부대는 전열을 수습한 뒤 일본군과 교전하면서 방어가 유리한 인근 고지로 재집결하여 방어 태세를 갖추었다. 그리고는 고동하 계곡의 일본군을 우회하여 역습하였다.
독립군이 인근의 고지에 올라가 사방을 포위하고 사격을 가하자 공수(攻守)가 바뀐 데 당황한 일본군은 많은 사상자를 내고 퇴각하였다. 일본군은 방어 태세를 갖추었지만, 독립군은 피전책에 따라 이들을 버려둔 채 안도현 지역으로 이동하였다. 전투 직후 일본군 역시 홍범도 부대의 전력을 파악한 후, 전력 약세를 핑계로 26일 봉밀구(蜂密溝)로 퇴각하였다. 일본군은 고동하전투에서 독립군의 사상자가 약 30명이고, 소총 10정, 탄약 약 1만 발을 포획하였다고 보고하였다.