戰前直、皖雙方的兵力部署和態勢大致如下:西路,即在京漢鐵路京保段兩側,皖軍的總指揮是段芝貴,指揮邊防軍一師全部、邊防軍第三師第五混成旅、陸軍第十五師全部、第九師兩個營、第十三師輜重營,布陣於涿州、固安、淶水一線以北;直軍以吳佩孚為總指揮,指揮第三師和第二、三混成旅布防於易縣、淶水、涿州、固安一線以南。東路,即在京奉鐵路京津段沿線,皖軍以徐樹錚為總指揮,指揮西北軍第二混成旅、邊防軍第三師兩個團及第九師一部,列陣於落垡、廊坊一帶;直軍總指揮為曹錕之弟、薊榆鎮守使兼第四混成旅旅長曹钅英,率第四混成旅、第二補充旅、直隸守備隊等,駐守楊村,與皖軍對峙。
為打敗直係,皖係事先擬定的作戰計劃是:西路以主力部隊沿京漢鐵路南下,首先奪取保定,然後繼續向南進攻,與自湖北北上的吳光新部和由洛陽東進的西北軍一起,圍殲直軍主力;東路則沿京奉鐵路向東進攻,首先奪取天津,然後沿津浦路南下,與從濟南北上的邊防軍第二師圍殲直軍。直軍采取的對策則是:西路首先以主力堅守京漢路,然後伺機反攻,殲滅皖軍主力;東路則堅守於天津以北,打破皖軍進攻後,再進行反攻。
7月14日下午,段祺瑞正式頒發了總攻擊令。當日晚間,西路皖軍主力即開始向直係發動全線進攻,直、皖戰爭正式爆發。
這次戰爭的主要戰場在西路。由於皖軍攻勢凶猛,故最初兩天的形勢對直係不利。京漢鐵路沿線的皖軍一度突破直軍防線,占領了涿州和鬆林店,將直軍壓到了鬆林店以南的高碑店。在涿州以東的固安一帶,皖軍的攻勢亦很凶猛,直軍在吳佩孚的親自指揮下,拚死抵抗,雖然守住了固安,傷亡卻不小。
東路雖非直、皖兩軍的主力所在,戰鬥也很激烈。皖軍從7月15日夜開始向京奉線上楊村一帶的直軍進攻,一度迫使直軍退到僅距天津十幾裏路的北倉。
然而,從7月16日起,戰局開始發生變化。
這個變化首先發生在西路。據說,16日夜因為下大雨,皖軍所有的榴彈炮、開花炮均失去效用,而直軍又乘機發起反攻,加之此時奉軍在河南的一支部隊,即鄒芬所部第一師第一旅也趕到了前線,加入直軍陣營,故直軍士氣大增,反攻頻頻得手。當時,除從正麵反攻外,吳佩孚又調了兩支部隊分由鬆林店、三家店繞到了皖軍第十五師、第一師側後,對之包抄襲擊,切斷其退路。皖軍因腹背受敵而陣腳大亂,紛紛後退。直奉軍在追擊中,收複了鬆林店、涿州等城鎮。皖軍第十五師在退卻逃跑時,適值大雨後河水暴漲,士兵溺斃不少,該師師長不僅隨身所帶的數千元現款掉落在河中,而且差一點被淹死。該師第二十九旅旅長張國溶、第三十旅旅長齊寶善見大事已去,決定率所部歸順直軍。與此同時,直軍右翼蕭耀南的第三混成旅和彭壽莘的第三補充旅也在反攻中得手,將皖係邊防軍第三師擊散,該師師長陳文運受傷後逃走。皖軍第十三師也受直係重創,其中一個營投降了直軍。
17日,西路直軍乘勝擴大戰果,與皖軍第一師大戰於涿州以北。由於皖軍第十五師已投降,第一師勢單力孤,被直軍包圍。經過幾小時激戰後,皖軍第一師第一旅旅長範尚品陣亡、第二旅旅長程長發潛逃,全師的團、營、連長傷亡者亦很多。該師師長曲同豐見部隊戰鬥力已完全喪失,遂挑出白旗,當了直軍的俘虜。至此,西路皖軍全線潰敗,涿州以北完全為直軍占領。
西路皖軍三個師被殲後,總指揮段芝貴知大勢已去,當晚即從琉璃河搭車逃回北京。這個段芝貴,本是袁世凱的親信,曾擔任過東三省的最高統治者。他被張作霖設計逐走後,又受到段祺瑞的重用,實際上是無能之輩,此次奉命擔任皖軍西路總指揮時,即以火車車廂為司令部,所帶隨從辦事員百餘人,其中廚師就有20多個。車上除載有軍用品外,尚有煙槍、煙盤14副,荷蘭水數百打,麻雀牌七副。可見段芝貴隻知享樂,根本無心指揮作戰。在逃亡途中,段芝貴的專車又被直軍追趕,彈如雨下,車廂內的衛兵死傷了數十人,段芝貴因俯伏在車內,才得以幸免。車開到良鄉附近時,追擊的槍聲仍未停息,段芝貴不得已,隻好單身下車,另搭搖車逃回北京西站,其狼狽之狀,可想而知。
到18日直軍進駐琉璃河時,西路實際上已無戰事,隻待辦理善後了。
東路的戰鬥在16日以後也發生了變化。正當直、皖兩軍相持於北倉以西時,張作霖的奉軍工程兵開來相助,直軍頓時士氣大振,立即開始反攻。接著,由京奉線入關的奉軍第二十七、二十八師各一個旅也開抵天津附近,加入反皖作戰。直、奉兩軍並肩戰鬥,實力大增,皖軍再也抵擋不住了。17日,直軍重新占領楊村,並直下落垡和廊坊。皖軍被擊斃者甚眾,幸存的大半逃散。東路皖軍總指揮徐樹錚一看敗局已定,亦於當晚逃回北京,東路戰事也以皖敗直勝而告結束。
麵對皖軍全線潰敗,段祺瑞愧恨交加,不得不於7月18日請求徐世昌下令停戰。同日,徐世昌以大總統的名義,頒布了停戰令,要求各路將領迅飭前方各守防線,停止進攻,聽候命令解決。至此,曆時僅5天的直皖戰爭宣告結束。
7月19日,段祺瑞發表通電,自請罷免官職,廢除“定國軍”名義。他在電文中說:“頃奉主座巧日電諭:‘近日迭接外交團警告,以京師僑民林立,生命財產極關緊要,戰事如再延長,危險不堪言狀。應令雙方即日停戰,迅飭前方各守界線,停止進攻,聽候明令解決’等因,祺瑞當即令飭前方將士一律停止進攻在案。查祺瑞此次編製定國軍,防護京師,蓋以振綱飭紀,初非黷武窮兵。乃因德薄能鮮,措置未宜,致招外人之責言,上勞主座之廑念。撫衷內疚,良深悚惶。查當日即經陳明,設有謬誤,自負其責。現在亟應瀝請自劾,用解愆尤。業已呈請主座,準將督辦邊防事務,管理將軍府事宜各本職,暨陸軍上將本官即予免職,並將曆奉獎授之勳位、勳章一律撤銷,定國軍名義亦於即日解除,以謝國人,共諒寸衷。”段祺瑞的這份通電無疑是文過飾非,他不願公開承認皖係的失敗,但是,也不能不表示要對發動此次戰爭承擔責任。
奉係軍隊在直皖相持的關鍵時刻加入直方作戰,對直軍戰勝皖軍起了相當大的作用,如今張作霖要同直係一起分享戰爭勝利的果實。當皖係潰敗時,奉軍不失時機地繳獲了皖軍的大批軍械、彈藥和其他軍用物資。邊防軍在北京南苑的12架飛機,也為奉軍所獲;徐樹錚在北京東直門裏的庫房及所貯存的軍用物資,也全為奉軍接收。戰後,張作霖將所獲的軍用品運往奉天時,曾裝車百輛,可見奉軍所得確實不少。