1919년 3.1운동이 일어난 이후 만주에서의 독립 투쟁은 더욱 활발해졌고 이에 일제의 대만주 탄압도 점차 강경해져 갔다. 이 과정에서 1920년6월 봉오동 전투에서 독립군에게 패배한 일제는 10월에 훈춘 사건을 일으켜 이것을 병력 진입 구실로 삼고서 만주에 사는 조선인들을 무차별로 학살하기도 한 일면, 1920년 2월 블라디보스토크에 잠시 머무르던 체코슬로바키아 망명 군대는 소련 적군과 적배내전의 휴전 협정이 성립된 이후 잉여 무기를 서둘러 매가하려 들고 있었는데, 마침 독립군은 독립 선언 후 무력으로 독립을 쟁취하기 위해 무기가 절실하게 필요한 상황이었다. 이에 체코슬로바키아 망명 군대가 보관하던 무기를 북로 군정서에 판매하게 되었다. 무기 거래는 깊은 숲에서 한방중에 이뤄졌고 동년 7월 독립군은 체코스로바키아군에게서 매입한 무기인 권총,기관총,탄약 200정을 브라디보스토크에서 간도로 수송했다.
1920년 8월 하순, 왕칭현 서대파에 주둔하던 북로 군정서의 주력 부대는 훈춘에 있는 일본 영사관을 습격해서 얻은 정보로써 일본군 제 14사단과, 제13사단의 일부가 장고봉을 거쳐 남하하고 나남의 제21사단이 도문강을 건너 북상하며 만철의 수비대가 송화강을 건너 서진해 북로 군정서군을 3면에서 토벌하려는 작전이 진행 중임을 알게 되었다. 마침 독립군 탓에 대일 관계에 난처한 처지에 있던 중국 당국의 권고도 있었으므로, 북로 군정서는 일단 안도현으로 이동해 서로 군정서와 합류하고서 백두산 지역에 기지를 새로이 건설한다는 방침을 세우고 9월17일 이동을 시작한 일변,대한 독립군도 봉천성의 경계 지역인 화룡현의 이도구, 삼도구 방면으로 이동했다.
연길현을 거쳐 화룡현 서부 지역으로 이동한 북로 군정서 부부대는 10월 10일경 안도현 경계 지역인 삼도구 청산리에 도착하고서 부근에 있는 이도구로 이동해 있던 홍범도 부대와 일본군의 간도 출병 대책을 협의했다. 10월19일의 회읭의에서는 주전론과 피전론이 맞섰으나 여러가지 이유로 피전론이 채택된 때 일본군이 부근까지 이미 진출하고 있었으므로 독립군 부대는 일본군을 피하고자 병력을 급히 후방으로 철수하게 했다. 김좌진 부대는 계속 일본군의 동태를 파악하면면서 전투를 자제하였으나 결국 추적을 따돌릴 수 없다고 판단해 일본군과 일전을 감해하기로 결정했다.
10월21일 비전투원들로 편성된 제 1제대와 전투요원으로 편성된 제2제대는 각각 김좌진과 이범석의 지휘하에 청산리 백운평 바로 위쪽의 고개마루와 계곡 양쪽에 매복 전투준비에 돌입하였다. 청산리 계곡은 동서로 약 25km에 달하는 긴 계곡으로서, 계곡의 좌우는 인마의 통행이 곤란할 정도로 울창한 삼림지대였다. 오전 9시경 야스가와가 이끄는 추격대가 계곡의 좁은 길을 따라 매복 중이던 이범석 부대와 교전을 벌였다. 뒤이어 야마다가 지휘하는 본대가 그곳에 도착하여 이들과 독립군 사이에 치열한 총격전이 벌어졌다. 김좌진은 이범석에게 명령을 내려 부대원을 이끌고 갑산촌으로 철수를 지시했다. 독립군은 이전투에서 유리한 지형을 이용해 일본군에 큰 피해를 줬다고 기록했다.
김좌진 부대가 철수하던 시각에 그곳에서 얼마 안떨어진 이도구 완루구에서는 홈범도 부대가 일본군의 공격을 받고 있었다. 이때 독립군과 일본군의 군복 색깔이 거의 비슷하여 일본군이 자기들끼리 서로를 오인 사격하는 상황이 벌어져 독립군이 전과를 올렸다고 기록했다.
한편 22일 새벽 갑산촌에서 합류한 김좌진 부대의 제1'2 지대는 그곳 주민들로부터 부근의 천수동에 일본군 기병대가 머물고 있다는 정보를 입수하자, 곧 그곳으로 이동하여 일본군 기병 연대와 교전을 벌였다. 곧 일본군 대부대의 반격이 있으리라 생각한 김좌진은 부대원을 어랑촌 부근의 고지로 이동시켜 오전 9시부터 포위 공격해 오는 일보눈을 막아내었다. 이때 부근에 있던 홍번도 부대도 포위되어 있던 김좌진 부대를 도와 일본군과의 전투에 참가했다. 그리고 날이 저물자 김좌진과 홈범도의 부대는 어랑촌 부근 고지에서 철수했다.
해방 이후 교육 현장과 역사학계에서는 이 전투를 압도적인 교환비로 일본군을 물리쳤다고 믿어 의심치 않았기에 대첩이라는 표현을 사용했으며 오랜시간 동안 일제강점기 무장 독립 투쟁의 아이콘으로 기능해 왔다. 1990년대 이전 중고등학교를 다닌 사람들은 청산리 전투보다는 대첩이라는 단어가 더더 익숙했을 것이다. 그러나 2000년대 이후 한일 양국 네팆티즌 간의 정보 공유가 활발해지고 여러 사료를 통한 교차검증이 행해지면서 대승이라고 보기는 어렵단다는 결론들이 도출되었으며 이는 심한 논쟁과 논란거리를 낳고 있다. 워낙에 민감한 주제이다 보니 공론화가 되지는 않았지만 최근 이 사건을 가리키는 용어로 '대첩'이 쓰이는 빈도는 확실히 줄어들었으므로 암묵적으로 한국 역사학계도 이 사건의 사실 관계가 대첩과는 달랐음을 시인한 것으로 해석할 수 있다.
한국에서는 독립군 측에서 대한민국 임시 정부에 제출한 보고서를 근거로 하여 1000여명을 사살한 대전과를 올린 것으로 기록하고 있다. 하지만 실제 이정도의 성과를 올렸는지에 대한 여부는 불분명하다. 한국과 일본에서 제시하는 자료를 교차시키면 내용 자체가 상이한 부분이 다수이며 부정확한 요소가 많아 독립군의 전과가 과장됐다는 주장 역시 존재 한다.
최초로 전과 부분에 대한 묘사가 나온것은 박은식이 쓴 독립 운동의 사기 진작작을 위한 일종의 역사서인 한국독운동지혈사에서 이다. 여기서 3300명을 사살했다고 했지만 박은식 역시 목격담을 듣고 쓴 것이기 때문에 명확한 그거는 어없었다. 거기다 최최 3300명에서~1200명까지 줄었으며 이범석이 쓴 자서전에서는 1000여명까지 피해는 줄어갔다. 허나 1000명의 사망자를 냈다는 것도 명확한 근거가 역시 부족하다.