百団大戦
8月20日夜、八路軍は山西省を中心に一斉に攻撃を開始した。京漢線方面では、晋察冀辺区軍の一部や第129師の一部など8000人以上が襲来して、鉄道に損害が出た。日本側は第110師団や独立混成第1旅団によって8月25日までに撃退した。同蒲線沿線でも八路軍と、独立混成第3・第9旅団や第41師団が交戦した。
石太線や太原に対しては、第129師の6000人やその他の部隊が向かった。これらの地域で1拠点に1個小隊以下の高度分散配置で手薄な警備をしていた日本の独立混成第4・第8・第9旅団と交戦状態となった。日本側は、交通網の遮断のため素早く増援部隊を送ることができず、居留民まで武装させるなどしたが、苦戦した。例えば娘子関(zh)地区では20kmの担当範囲に1個中隊の日本軍守備隊が6分割配置された状態で戦闘となり、偶然通りかかった列車に乗車中の兵士の支援を受けてかろうじて持ちこたえた。独混第8旅団の担当地区にある井徑炭坑は、3個所の採掘地点にわずか各1個分隊程度の態勢だったところ、それぞれ1000人以上の八路軍の攻撃を受けて、うち1か所が放火により完全に破壊された。
日本の第1軍は、独混第4・第9旅団を反撃に出撃させ、8月30日から9月18日にかけて、石太線方面に襲来した第129師を攻撃した(第一期晋中作戦)。八路軍は反撃を避けるため、分散退避した。
5ヶ月にわたる戦役のため、以下に示すのは最大参加兵力である。資料によっては日中双方二十万人ずつの投入兵力というものもある。
中国側:八路軍第120師及び指揮下部隊計46個団、第129師及び指揮下部隊計20個団、合計40万人
日本側:北支那方面軍(中心は山西省の第1軍)、駐蒙軍
満州国軍:15万人
日中戦争の勃発後、日本陸軍は華北一帯を占領下に置いたが、中国国民党政権系の軍が撤退した後の権力の空白に乗じて勢力を伸ばしたのが中国共産党だった。開戦前に山西省で閻錫山(国民党に帰順)と提携していた中国共産党は、日本陸軍の進攻によって閻錫山の第2戦区軍が陝西省に退避すると、後に残って山西省の根拠地化を図った。河北省でも、共産党軍が、国民党政権から冀察戦区司令官に任じられていた鹿鍾麟を攻撃して追放してしまった。山西省を占領中の日本の第1軍は、1940年4月から6月にかけて、晋南地域に残る衛立煌の第1戦区軍を攻撃したが、このときも中国共産党は日本軍の進撃の後を追うように勢力圏を広げた。
中国共産党の部隊である八路軍は、建前上は国民革命軍の一部として国民党政権指揮下の共同部隊であったが、実際には他の国民革命軍部隊の赤化工作や、民兵の組織を積極的に行って、独自の戦力養成に努めた。1940年春には、山西省に展開していた国民党系の第97軍のほとんどを吸収していた。八路軍の装備は迫撃砲や機関銃程度の範囲ではあるものの次第に充実し、ヘルメットを着用した兵士が増えている。兵の練度も向上してきた。しかし、八路軍は「政治七分、軍事三分」を標榜し、前述のように国民党政権軍の戦闘に積極的に協力せず、日本軍との直接交戦は避けることを基本としていた。
日本陸軍は、1940年には共産党の勢力拡大を危惧しており、徐々に八路軍への攻撃を増やしていった。北支那方面軍は、昭和15年度粛正建設計画の中で、共産党軍を重点攻撃対象と定めていた。もっとも北支那方面軍に属する第1軍は、前述のように国民党政権の正規部隊の撃破も依然として重視していた。