護法運動

北洋專政

1911年辛亥革命之後，1913年2月，中華民國根據《中華民國臨時約法》規定，進行首次國會選舉，並且在1913年4月8日首次召開國會。國民黨得票最多，成為國會第一大黨，預備由宋教仁組閣。之後，宋教仁遇刺身亡，引發二次革命。結果為袁世凱大總統以武力壓服，孫中山等流亡日本。1914年6月23日，在東京開中華革命黨成立大會，眾推孫為總理。
袁世凱解散國會，並且廢止《中華民國臨時約法》，袁世凱於第一次世界大戰期間被迫同意日本對華《二十一條》。1915年12月12日稱帝，為洪憲帝政。1915年12月，蔡鍔等人發動護國戰爭反對袁世凱稱帝，取得成功。袁世凱被迫取消帝制，之後於1916年6月6日病逝。袁世凱大總統死後，堅持憲政治國，國會中僅次於國民黨的第二大黨進步黨，研究系領袖黎元洪任大總統，在南京的北洋直系軍閥元老馮國璋任中華民國副總統。
以北洋正統派首領自居，依附日本軍閥，日本支持的皖系軍閥首領段祺瑞在控制國家財經命脈支柱的交通系和安福俱樂部擁戴下出任國務院國務總理，舊國會亦恢復。不久，黎元洪與段祺瑞在國務院秘書長人選上發生爭執，請出北洋軍閥元老徐世昌出面協調。其後因中國是否因第一次世界大戰向德國宣戰，發生府院之爭。
日本表示支持皖系、交通系的段祺瑞，英、美等支持研究系、直系的黎元洪、馮國璋。段祺瑞主張參戰，而黎元洪及國會有所保留。段祺瑞下令手下十幾個督軍組成「督軍團」開到北京施壓，要黎元洪在對德宣戰書蓋印，為了平息風波黎元洪勉強同意蓋印。段祺瑞仍不滿足，又大肆干涉國會。後來段祺瑞私自向日本借款事件被揭露，1917年5月21日，黎元洪下令撤銷了段祺瑞的國務總理職務，免去總理之職。任伍廷芳出任代理國務總理。
段祺瑞憤然離京去津，並指根據《臨時約法》，總統無權撤銷總理職務不承認免職令。令屬下各省督軍宣布獨立。擁段的督軍在各地宣布獨立。
黎元洪急電召安請督軍團團長張勳入京調解，段祺瑞欲利用張勳對付黎元洪而支持入京。卻引致張勳在1917年7月1日為溥儀復辟，黎元洪迫於張勛的壓力，要伍廷芳簽署解散國會的命令，伍廷芳辭職拒絕，黎元洪任命江朝宗代理總理，簽署解散國會，隨後卸任。國會亦被解散，是為「張勳復辟」。
「張勳復辟」最後被段祺瑞的討逆軍所鎮壓，黎元洪引咎辭職，7月6日總統之職由英美支持扶植的直系軍閥馮國璋取代，馮國璋代理大總統，段祺瑞任國務總理，重新掌握北京政府實權。段祺瑞稱事件為「再造共和」，但段祺瑞一上台就把毀滅約法和武力統一作為施政重點，公開宣布「一不要約法，二不要國會，三不要舊總統」，是因為國會曾反對他。段祺瑞廢止了1913年選出的國會，與進步黨首領，研究系的梁啟超等組織臨時參議院。

南北對立

南方五省（粵、桂、滇、黔、川）軍閥均反對段祺瑞的做法，僅由段祺瑞控制的十四個行省進行國會選舉。其選舉過程被段祺瑞的皖系「安福俱樂部」所控制，故稱為「安福國會」，原有法統亦已不再存在。日本支持的皖系軍閥段祺瑞後連合日本幕後扶植的奉系軍閥張作霖、英美支持的直系軍閥的馮國璋、成立英、美、日列強支持的北洋新政府，力求專制和武力統一。
返回中國隱居的孫中山跟黎元洪和舊國會的「院派」，同樣反對中國參戰的態度。當張勳復辟時孫中山首斥段祺瑞召禍致亂，斥段祺瑞為「以叛討叛，以賊討賊」亦不滿日本大舉介入干涉中國內政。於在上海支持聲援「院派」反對北洋政府專政解散國會。德國公使辛策於3月25日返國前，特命德國駐上海總領事克里平竭力聯絡孫中山，表明德國願支持中華革命黨的運動並同盟對抗日本。為此克里平派其翻譯西爾穆爾(Schirmer)與曹亞伯相偕秘密謁見孫中山。
過去的盟友日本在中國的活動已引起孫中山的擔憂和反感，孫中山對與德國聯手對抗段祺瑞，和北洋軍背後的日本表示甚為贊同。為與北洋軍作戰所需的資金，孫中山向德國協商支援二百萬銀圓款項。由孫中山所信任的蔣中正負責經手交涉，一說蔣中正與張靜江在旗下開設的上海證券交易所與金融界也募集大量資金，作為孫中山的軍費後盾。
護衛《中華民國臨時約法》的孫中山號召下，章太炎、李烈鈞、譚人鳳等人也紛紛再度加入旗下擁護《臨時約法》恢復國會，遂展開護法運動。

孫中山南下廣州

1917年7月17日，在章太炎陪同下，孫中山率領兩艘軍艦從上海抵達廣州，正式揭起護法旗幟。此時張勳復辟已經於7月12日被段祺瑞再造共和的討逆軍粉碎，但是段祺瑞表示拒絕恢復舊國會，擬定要重新選舉新國會。孫中山在到達廣州的當日晚，就發表演說，明確提出護法的宗旨是打倒假共和，建設新共和，並呼籲各界奮起為護法而鬥爭。通電號召北京舊國會議員南下參加護法到廣州另組新政府。海軍總長程璧光反對段祺瑞蹂躪約法破壞民國，擁護孫中山的護法主張，宣布脫離北京政府。從上海率第一艦隊永豐艦等九艘戰艦支持孫中山，於7月22日抵達廣州，壯大了護法的聲勢。徐紹楨應孫中山之邀由滬至粵共同護法。伍廷芳、王正廷、唐紹儀、孫洪伊等舊國會議員應孫中山的號召，南下廣州。
護法運動當時也得到了在地方上實質獨立，原護國軍組成的西南軍閥某種程度的支持。段祺瑞的武力統一政策除了對付革命派以外，也直接危及到西南軍閥的地盤，因此他們想藉助孫中山的聲望，以對抗段祺瑞的武力統一和擴大自己的實力。廣東、廣西、雲南、貴州與四川相繼再次宣布脫離北洋政府加入護法運動，大西南連成一片，成為護法中心。
8月25日，南下舊國會議員已達150多人，由於不足法定人數不能召開正式會議，便根據孫中山的提議決定在廣州召開「國會非常會議」。8月25日，非常國會開幕，決定組織護法軍政府會議通過：為維護《臨時約法》，在廣州組成中華民國軍政府，設中華民國軍政大元帥一人、元帥三人，行使中華民國行政權。
9月1日，非常國會九十一人投票，以八十四票選出孫中山為中華民國軍政府大元帥，之後選出雲南督軍滇系唐繼堯、兩廣巡閱使桂系陸榮廷為元帥；另外，以伍廷芳為外交部總長，唐紹儀為財政部總長（但未上任），程璧光為海軍總長，胡漢民為交通部總長。孫中山於9月10日宣督就職，任李烈鈞為參謀總長，李福林為親軍總司令，許崇智為參軍長，陳炯明為第一軍總司令，護法軍政府成立。宣布段祺瑞等為叛逆，誓師北伐。在孫中山的號召下，護法戰爭正式開始。更曾一度任代行非常總統。

護法戰爭

1917年9月孫中山出任大元帥時，留在上海的蔣中正即向孫中山提出一份「對北軍作戰計畫書」，認為「北方政府所轄之軍隊，約在三十萬以上，然實際上可為其動員者，即以馮、段二派勢力合計，則其數亦不過六萬。」「北軍雖眾，而為段氏冒死南犯者甚尠」計畫軍政府從粵、桂、雲、貴、川、湘等大西南地區動員多於敵的兵力三路揮軍北進。
軍政府成立後，形成南北對峙局面。段祺瑞廢除《臨時約法》，自立國會，提出「武力統一」的口號。段祺瑞為實現武力統一計劃，積極派兵向南進攻。在護法軍成立前，即派心腹傅良佐為湖南督軍，將調北洋第八、第二十師大肆開入湖南引起各界強烈不滿。9月18日，零陵鎮守使劉建藩與駐衡陽的湘軍旅長林修梅聯銜通電，宣告湖南自主。10月1日，蔣中正向孫中山提出「滇粵兩軍對於閩浙單獨作戰之計畫書」主張護法軍應在湖南採守勢，而把主力作戰轉集中於閩、浙沿海一帶，爾後再伺機北伐。
10月6日，護法軍組成護法軍湘軍指揮部，推舉程潛為總司令。同日，湘軍護法軍與北洋軍湘潭、西倪舖開戰，拉開了南北戰爭（護法戰爭）的序幕，護法戰爭正式爆發。湖南、廣東、廣西護法聯軍與北洋軍在衡山、寶山對抗近一月，戰況十分激烈。﹔廣西督軍譚浩明任粵桂護法聯軍總司令﹐率四軍入湘助戰，雲南督軍唐繼堯任滇黔靖國聯軍總司令﹐指揮四軍進攻四川﹐海軍總長程璧光等人指揮五十餘營兵力攻入福建。段祺瑞聞訊﹐令湖南督軍傅良佐指揮北洋軍第8﹑第20師和湖南陸軍第1﹑第2師﹐控制岳陽至衡陽鐵路沿線要地﹐阻止粵桂聯軍北上。
長江上游總司令兼四川查辦使吳光新率兩個混成旅由湖南援助四川﹐牽制滇黔靖國聯軍北進﹔閩﹑贛兩省軍隊和廣東軍閥龍濟光﹑莫擎宇﹐分由閩﹑贛和海南島﹑潮汕地區向廣州方向進攻。傅良佐令第8﹑第20師等軍反攻﹐劉建藩與林修梅不敵敗逃﹐衡山﹑寶慶等地相繼失守。
當時支持廣州軍政府的，以廣西、雲南的西南軍人實力最強。湖南亦有譚延闓、趙恆惕、程潛支持護法。在桂系陸榮廷的支持下，11月，護法軍開始取得優勢，接連攻寶慶、永豐、湘鄉、衡山、湘潭等地。傅良佐向北敗退。護法聯軍乘勝追擊﹐孫中山在於11月1日任命蔣中正為大元帥府參軍，18日，湘南護法軍佔領長沙。
此時全國各省護法勢力也紛紛起來響應。12月初，滇、黔、川護法聯軍趕走了段祺瑞派到四川的查辦使吳光新攻佔重慶，吳光新率殘部逃入湖北宜昌。同月黎天才等人在襄陽通電宣告自主，組成「湖北靖國軍」；郭堅等人在鳳翔宣告獨立，組成「陝西護法軍」。河南、山東等省也有靖國軍相繼起義，護法軍一度取得了勝利。援閩護法聯軍於12月中旬在潮汕地區擊敗莫擎宇和援莫閩軍後﹐繼續向福建進攻。
在湖南主要戰場上護法軍連戰接捷，迫使北洋軍多次易帥並攻佔岳陽﹔四川、福建、湖北等戰場也取得了一定的勝利。援閩護法聯軍在恩平﹑陽江等地擊敗龍濟光後﹐乘勝向廉江﹑遂溪等地追擊﹔護法軍節節勝利﹐鄂﹑浙﹑魯﹑豫等省地方勢力相繼呼應﹐三、四個月內的短暫時間，護法運動就遍及到十幾個省份﹐之後隨即讓段祺瑞為此被迫辭職。

第一次南北議和

在北洋政府內部各派系皆從自己利益出發，段祺瑞主張「武力統一」，藉此擴充皖系勢力；直系馮國璋為了牽制實質掌權的皖系增強自己爭權的實力，在對西南護法軍問題上採取了不同的態度，高喊「和平統一」竭力要求保持西南各省的勢力藉此討好西南軍閥，保護直系的利益。護法軍11月在湖南擊敗段祺瑞進攻後，護法運動延燒全國十幾個省份，以馮國璋為首的直系暫佔上風。
直系北洋軍第八師師長王汝賢、第二十師師長范國璋發出通電主張停戰議和。緊接著直系長江三督和直隸督軍曹錕聯名發表通電響應停戰。段祺瑞因此於11月16日被迫辭去國務總理之職，梁啟超亦隨之辭職。由外交總長汪大燮暫時代理國務，1917年12月1日請出北洋軍閥元老領袖王士珍任國務總理兼陸軍總長。
馮國璋勸說西南軍閥放棄武力「和平解決」。西南軍閥本來就不是真心護法，現在地盤和實力得到了鞏固，於是就與直系軍閥勾結，反過來破壞護法運動。粵桂湘護法聯軍攻入岳陽後﹐陸榮廷等人在藉由孫中山與護法運動的名義﹐大舉接編收擴張自己的兵力與勢力。各自把原本不到一省的勢力，假藉孫中山的名號疾速擴張到橫跨各省後，便篡奪原本是呼應加入運動的護法軍兵權擁兵自重，企圖以護法軍不攻湖北﹑北洋軍不攻岳陽為條件﹐與北洋集團媾和割據中國。
12月，陸榮廷、唐繼堯在未經護法軍大元帥孫中山同意下，違令自行在湖南、四川兩條戰線宣布單方面停戰，南北暫時停戰。桂系陸榮廷、滇系唐繼堯在1917年底決定背棄孫中山的廣州護法政府與馮國璋單獨議和。提出恢復國會，停止湘粵進兵和作為交換擁護馮國璋繼任總統，廣西、廣東取消獨立的條件。馮國璋發出停戰布告，責成南北停止敵對行動。

戰端再開

1917年12月2日，段祺瑞策動督軍團北方十督：曹錕、張懷芝、張作霖、倪嗣沖、閻錫山、陳樹藩、趙倜、楊善德、盧永祥、張敬堯在天津舉行督軍團會議。12月6日聯名電請馮國璋明令討伐西南，12月31日，北方十督發表通電，堅決反對恢復舊國會，主張以皖系控制的臨時參議會代行國會職權，選舉正式大總統，企圖「合法倒馮」。馮國璋只得表示讓步。任命段祺瑞為參戰督辦，段芝貴為陸軍總長，以消解皖系的不滿。
1918年日本向段祺瑞提供了大量貸款，並協助組建和裝備軍隊,其貸款還被用於安福國會龐大的賄選開支。
1918年1月主張「和平統一」的馮國璋受皖系、直系壓迫，命曹錕向湖南開戰。馮國璋令援湘軍第1路總司令曹錕﹐率北洋軍第3﹑第7師和5個混成旅﹐經鄂南攻湘北。第2路總司令張懷芝率山東暫編第1師﹑江蘇第6混成旅和安武軍﹐在贛軍配合下經江西攻湘東。；在失去已掌握大多兵力的陸榮廷、唐繼堯的廣西、雲南西南軍人桂系、滇系支持下，孤立無援的護法軍被迫單獨與曹錕作戰。
1918年2月曹錕軍入湖北、湖南，壓迫湖南譚延闓、趙恆惕、程潛的湘軍。3月，馮國璋聲稱要親自討伐西南，率拱衛軍乘專車南下想回到直系的自己大本營南京。在蚌埠被皖系安徽督軍倪嗣沖攔截。同時張作霖率奉軍入關「兵諫」。皖奉結成反馮聯盟，馮國璋不得已只好請出段祺瑞復職。

第二次南北議和

段祺瑞重新上台出任中華民國國務總理，組織北洋軍大舉南侵，護法軍在湖南的領地很快大量丟失。在4月，護法軍湖南大敗，北洋軍連占岳陽﹑長沙﹑衡陽﹑醴陵等地，護法聯軍向湘粵桂撤退。但跟桂系、滇系密約的敵前指揮直系吳佩孚得到湖南後，不顧段祺瑞反對停止進攻，在7月與南方議和罷戰北歸。1918年8月，北京安福國會開幕，此時馮國璋與段祺瑞彼此不和相爭，後來二人相約在1918年9月4日共同下野。
1917年8月14日，北洋政府向德國宣戰，成為第一次世界大戰戰勝國。同年9月，段祺瑞與日本交換了關於山東問題和向日本借款的公文，駐日公使章宗祥向日本政府親遞換文。作為借款的條件之一，其主要內容為： 1、膠濟鐵路沿線日本軍隊，除濟南外，全部調集青島。2、膠濟鐵路由日本指揮的巡警隊警備。3、膠濟鐵路由中日兩國合辦經營。 
段祺瑞對日本的提議"欣然同意"。但日本在山東的權益沒有收回，這換文反而被日本擴大了，成為巴黎和會上日本強佔山東的藉口。1918年10月，段祺瑞操縱皖系經在安福國會選舉徐世昌為總統，幕後控制政府，長期主張和平，標榜「偃武修文」擔任調和元老的徐世昌就職總統後下令停戰，於是戰事終止。之後段祺瑞強迫徐世昌取消吳佩孚職務。此戰護法軍雖然大勝北洋軍閥一時﹐但由於沒有專屬自己的武裝力量﹐終因南北軍閥妥協而告失敗。

護法停止

1917年底，陸榮廷、唐繼堯、莫榮新等聯同唐紹儀召開「中華民國護法各省聯合會」，1918年1月，西南軍閥於軍政府之外正式另組「中華民國護法各省聯合會」另設立一權力中心，以岑春煊為議和總代表，主張承認馮國璋的北洋政府法統，組成聯合政府。加緊謀求與北洋軍閥妥協。
唐繼堯將滇軍改組為靖國軍，利用"靖國軍"之名在英國幕後支持下實行擴張，自任總司令。12月聯合黔軍和川軍，唐繼堯自任川滇黔靖國聯軍總司令，桂系也同樣受英國大力贊助。
除了海軍、元帥府親軍及二十營粵軍外，孫中山在廣州軍政府內缺乏實質軍事力量支持，甚至到了「令不能出士敏土廠（大元帥府）」的情形。
在戰事終止後，陸榮廷、唐繼堯等「回歸」廣州「護駕」孫中山，為了把堅決反對與北洋軍閥妥協的孫中山排擠出護法運動，西南軍閥又進一步收買非常國會。廣州護法政府逐漸由舊桂系、滇系軍人控制。
皖系段祺瑞由於長期跟直系馮國璋相爭，決定派出密使在收買桂系交換利益下換取陸榮廷的承認安福國會和皖系徐世昌北洋政府的「法統」，成立皖桂同盟；孫中山親自下令海軍炮擊廣州督軍府，發動兵變希望推翻桂系統治。

桂系奪權

1918年1月28日，支持孫中山對抗桂系的主力—海軍，海軍總長程璧光被暗殺。孫中山氣憤的認為是桂系用以打擊他所為，桂系和支持桂系、直系軍閥執政，長期強烈反對聲討指責護法軍北伐行動的英、美媒體，則紛紛大肆指稱是孫派所殺，兇手為誰所指使有爭議。失去程璧光海軍對抗的非常國會從此受桂系操控。
1918年2月靖國軍控制四川，陝西、湖南、福建部分軍事首領，亦以"靖國"相號召，唐繼堯以川、滇、黔、鄂、豫、陝、湘、閩八省聯軍總司令自命，滇系軍閥的聲威達到空前絕後的頂點。
1918年3月，徐紹楨被孫中山任命代軍政府衛戍總司令、廣州衛戍總司令兼陸軍部練兵處督辦。滇系、桂系勾結直系，破壞護法軍的北伐計劃，4月10日非常國會秉承西南軍閥的意旨，通過《中華民國軍政府組織大綱修正案》，決定改組軍政府，將大元帥制改為總裁合議制。孫中山堅決反對這一決定。
次日他即向國會指出擅行改組軍政府是非法的，並堅決表示：「即於改組後有欲以為總裁者，亦決不就之。」1918年5月4日，孫中山憤向非常國會提出辭職，通電揭露西南軍閥破壞護法的真面目，向國民沉痛宣告：「吾國之大患，莫大於武人之爭雄，南與北如一丘之貉。」
在廣州缺乏制衡桂系軍事力量的孫中山，調集手下廣東省長朱慶瀾的粵軍警衛軍20營，改編為軍政府直轄護法軍，陳炯明率領。並從上海招集蔣中正赴廣州，任命蔣為粵軍總司令部作戰科主任，負責規劃閩南戰役。改靠滬、粵、閩、浙、贛各省的勢力重整展開北伐作戰。
1918年5月20日通過改組，非常國會不顧孫中山的警告，改組軍政府，選舉唐紹儀、唐繼堯、孫中山、伍廷芳、林葆懌、陸榮廷和岑春煊等7人為總裁，廢除大元帥制，以七總裁取代大元帥。孫中山在廣州被架空，被迫辭去大元帥一職，桂、滇各系控制國會改組護法政府。
5月21日，孫中山在失望之餘離開廣州，前往由蔣中正主持的上海，之後廣州軍政府以岑春煊為主席總裁，護法運動失敗，第一次護法告一段落。

援閩重整

1918年6月，孫中山命令蔣中正與陳炯明，以援閩粵軍的名義向福建進軍，聯同海軍部分艦隊開赴潮梅一帶。粵軍陳炯明的第一軍與蔣中正的第二軍一路攻破嵩口、丘濱、永泰直逼福州，擊敗段祺瑞的閩浙援粵軍，段祺瑞親令總司令李厚基與孫中山劃界停戰。陳炯明曾以「粵軍可百敗而不可無兄一人」 挽留蔣中正留任粵軍，但蔣中正仍婉拒，辭任第二軍長把粵軍交與許崇智和陳炯明後回到上海。
援閩粵軍進軍福建穩住陣腳以後，在駐福建兩年期間，從原本人數不滿五千的部隊擴展至成2萬多人六個旅的勁旅。由陳炯明與許崇智負責指揮，許崇智率軍在閩浙掃蕩北洋軍的閩浙援粵軍殘部，以解除粵軍的後顧之憂。
1919年，粵軍以陳炯明為粵軍總司令兼第一軍軍長，親孫中山的許崇智為第二軍軍長。1919年10月10日，孫中山將中華革命黨改組為中國國民黨，1920年3月孫中山完成「地方自治開始實行法」。1920年中，仍駐廣州的軍政府出現內鬨，英國支持的桂系與滇系爭權。
1920年4月，直奉結成反段聯盟。曹錕、吳佩孚、張作霖在1920年7月14日發動直皖戰爭，皖軍大敗。曹錕、吳佩孚擊敗皖系，逼退段祺瑞，解散安福國會共同控制北京政府。在張作霖支持下，原來就毫無實權，在各派系軍閥居間調停的徐世昌繼續任職傀儡總統。

直系北洋政權與廣奉皖倒直三角同盟

1922年4月，皖系段祺瑞同奉系張作霖以及廣東的孫中山建立了倒直的「三角同盟」，4月初吳佩孚暗地裡派人去廣東，與陳炯明聯繫，要陳炯明武力反對孫中山北伐。
1922年4月23日孫中山在越秀山總統府召開全體幕僚會議決定行止。大本營內，有兩種意見，一是主張暫緩北伐，先清內患，解決「陳家軍」。蔣中正等力主進攻消滅陳炯明。；二是立即轉道北伐，避免與陳炯明直接衝突。
孫中山贊成第二種意見，蔣中正則答「先生，如果不徹底解決陳家軍問題，將來後患無窮。」但孫中山認為「競存叛跡未彰，在桂粵軍數年奮鬥，猶欲保存。」對蔣中正的意見未加接納，因此，他決定親自督師北伐「兩廣仍交競存辦理，給以殊恩，當能感奮」。蔣中正便離開廣東時給陳炯明寫一封信，勸曰：「吾公如能深信中正之言，採納一二，勿聽細人之讒，勿墮宵小之計，服從總理，共圖北伐，則中正雖守制未終，尚思待罪疆場，執鞭以從，聊供指臂之助。」雙方仍留轉圜餘地。
孫中山返抵廣州，即委任陳炯明為北伐軍第一軍總司令，並向陳炯明表示：「不生異詞，必當倚任如前。」他又派伍朝樞、古應芬、居正、廖仲愷、馬君武、汪精衛、程潛敦促陳炯明回省城。許崇智、、魏邦平、梁鴻楷、李福林、黃大偉、李雲復、徐軍雁等粵軍將領，致電勸陳炯明，但陳炯明拒絕出任稱「自今後，息影田廬，躬耕養母。」孫中山以極其懇摯的言辭，給陳炯明發了電報：「革命既無半途而廢之理，十年患難道義之交，一旦相棄，縱弟不求諒於人，兄則何忍為之。望兄速取消退隱之志，投袂而興，終始國事，庶幾執信、仲元得以瞑目。」。
1922年4月28日，張作霖、段祺瑞和孫中山聯盟對抗直系曹錕、吳佩孚發動直奉戰爭，第一次直奉戰爭爆發。夏天，孫中山親自督師在韶關建立北伐大本營，以粵、滇、贛、湘軍組成聯軍進攻江西的直系。
1922年5月4日，奉系張作霖潰敗，退出山海關，在秦皇島遭到了直系海軍的炮轟。北方戰場上直系獲勝，由日本扶持的奉系退出北京。直系曹錕、吳佩孚佔領北京控制了北洋政府，受英美幕後操縱支持承認的直系成為在北京中央政府唯一的一個軍事集團。
此時吳佩孚秘密與陳炯明密約，吳佩孚在北方驅逐徐世昌，陳炯明在南方推翻孫中山。步驟是：第一步藉昏懦的黎元洪復位，利用廢督裁兵打倒曹錕和各省軍閥，失敗也是黎元洪受害，再用國會急選吳佩孚、陳炯明為正副總統，時機未熟舉文人伍廷芳、蔡元培為正副總統，為暫時過渡人物。
直系北洋政府便以「恢復法統」之名指徐世昌總統為非法，迫其在6月2日去職。徐世昌宣布辭職下野，自此退出政界。吳佩孚發出恢復舊國會的通電，原來國會亦再次召開。直系軍閥名噪一時，成為全國勢力最大的一支軍閥，在英美大力資助支持下企圖控制全國。
為了以合法的名義達到大總統職位，曹錕用盡心計首先逼退徐世昌，迎原總統黎元洪復職，先讓黎元洪上台完成其原來大總統任期。黎元洪本不願再度復出，但吳佩孚策動了規模空前的「勸駕」攻勢，讓被遺忘以久的黎元洪家裡每天車水馬龍，門庭若市，黎元洪在自以為飽受全國各界熱烈歡迎下，以重提「廢督裁兵」為條件復出政界。曹錕、吳佩孚對於黎元洪的條件皆通通答應，黎元洪在曹錕、吳佩孚利用下出任短期過渡的傀儡大總統。
黎元洪在就職演說中大唱高調：
「余為中華民國國民一份子，既是各方面迫於救國之誠，促余復出任職，余豈能再事高蹈？亦只得犧牲個人前途。出京五載，國家元氣所喪如是。此來因各方敦迫，不得已暫行大總統職權，藉以維持國際上之地位。其餘眾事，靜待國人解決。」
黎元洪一上台，立即下令撤銷對孫中山的通緝令，並電邀孫中山入京籌商國事；內閣組成後，黎元洪和一些內閣成員分別發電迎接伍廷芳北上組閣，並電邀唐紹儀、陳炯明、岑春煊、譚延闓等來京共商大計。南方人士認為這是虛偽的表示，加以拒絕，被邀人士無一北上。其中，譚延闓]]表示不就內務總長職，黃炎培表示不就教育總長職。伍廷芳發出通電，認為黎元洪復職沒有法律根據。李烈鈞態度更為強硬，聯名發表通電斥罵黎元洪叛國，說他和舊國會都是直系軍閥的傀儡。結果黎元洪拉攏的計劃落空。
黎元洪重新上台後，之前廢督裁兵和所有許諾被曹錕、吳佩孚拋諸腦後。曹錕和同鄉嫡繫心腹高凌霨同時在政治上百般刁難，讓黎元洪任期內其政府無法工作。北京政府六度更換內閣總理一年之間換了六茬，黎元洪毫無實權可言。後來曹錕唆使手下在總統府前高呼反黎口號「驅黎擁曹」，所有電話、電報亦被截斷。當初「勸駕者」現在全都不知所終。最後曹錕直接派人上門進行恐嚇，手無任何兵力的黎元洪見已無法生存，被迫乘火車欲逃亡天津。
結果黎元洪任命的直隸省長王承斌率部隊在中途等候，在天津將黎元洪困火車恐嚇強逼他交出印信。悲憤的黎元洪無奈之下只能交出總統印信。直到次日清晨北京來電稱已得印信，王承斌逼黎元洪在自動離職電稿上簽字後才予釋放。黎元洪去職後由直系曹錕親信國務院內務總長高凌霨代理大總統。

討直北伐戰爭

孫中山於5月6日從廣州赴韶關督師，設大本營於韶關。他舉行北伐誓師大會，並任命李烈鈞和許崇智分別為北伐軍總司令和總指揮。於1922年5月9日發布總進攻令，孫中山在韶關大誓三軍，旌麾北指。「出師宗旨，在樹立真正之共和，掃除積年政治上之黑暗與罪惡，俾國家統一，民治發達」孫中山深感這是聯合奉、皖軍閥，夾擊直系統一中國的千載良機，必須立即出兵策應，他已無暇顧及解決陳炯明問題了。
1922年6月13日，北伐軍擊潰直系軍閥陳光遠攻佔贛州，隨後進據吉安直逼南昌。攻佔江西嚴重威脅吳佩孚的後方，粵、湘、贛、滇、黔組成的護法軍，大有跟浙江、安徽的皖系軍閥、親孫中山護法軍的鄂、川、閩、陝部隊會師聯軍北上之勢。這使吳佩孚打消進攻東北徹底消滅張作霖的想法，轉而與奉軍在山海關對峙，並回頭處理護法軍北伐和皖系的問題。
第一次直奉戰爭獲勝後吳佩孚雖想消滅奉系併吞東北，但孫中山已開始北伐，而後曹錕導演了賄選總統醜劇後，皖系浙江軍閥盧永祥通電反對曹錕賄選後，反直系的政客和未參加賄選的議員麇集於杭州、上海，浙滬儼然成了反直的中心。終於使吳佩孚下決心先消滅盧永祥和孫中山。吳佩孚命孫傳芳為閩粵邊防督辦，另周蔭人代孫傳芳為福建督理，但廣東的地盤不易深入，吳佩孚便要孫傳芳和陳炯明聯合起來壓制孫中山。

護法軍敗北

陳炯明要求吳佩孚派兵援助。吳佩孚派出沈鴻英、蔡成勳攻留贛的北伐軍。李烈鈞部被迫退回粵境。直到7月26日，北伐軍開始追擊全線向韶關退卻的陳炯明。不料陳炯明援軍於28日趕來與已疲備不堪的北伐軍作戰。
6月1日舊國會參眾兩院議員王家襄，吳景濂等在天津集會，宣布「非法總統」徐世昌無效，徐世昌於2日宣布辭職，之後黎元洪復職。北方各界以護法運動目的已達為由，紛紛希望孫中山下野以求打破兩個總統的僵局。而粵軍中的葉舉等人也聯名發電文要求孫中山下野。陳的部下，粵軍將領鄧鏗遭暗殺，孫文一方堅稱是陳炯明所為，但近年來一些學者根據史料認為此事有可能是孫文一方所為。
1922年6月16日，陳炯明部下葉舉在通知孫文後，出兵圍攻總統府，鳴炮警示孫文離開廣東。孫文轉移到到永豐艦（後改名中山艦）還擊轟炸廣州後離開廣東，史稱「六一六事變」。
8月3日，北伐軍在南雄召開軍事會議，決定分東西兩路撤退。李烈鈞、李明揚、賴世璜經湘南進廣西繼續討逆。8月9日堅守在白鵝潭的孫中山得知北伐軍回師失利，他已是孤軍無援，決定離粵赴滬。下午3時他乘英艦「摩軒號」到香港，次日改坐「俄國皇后號」赴滬。
8月15日，陳炯明自任粵軍總司令。
孫中山至8月初離粵退居到盧永祥勢力範圍的上海。第二次護法運動失敗。

滬桂滇粵聯合反攻廣州

1922年8月15日，退往上海的孫中山發表討伐陳炯明的宣言，隨後命徐紹楨北上與關內外各派軍事將領商討國事。為了集中力量消滅陳炯明軍隊，孫中山決定與皖系合作，利用段祺瑞的勢力驅逐投直的閩系軍閥李厚基。
10月，孫中山將北伐軍改為討賊軍，任命許崇智為東路討賊軍總司令，蔣中正為參謀長，從閩南方向討伐佔據廣東的陳炯明。討賊軍跟皖軍聯合下，打敗了李厚基及增援的直軍，迅速占領了閩南進攻潮汕。
孫中山又派鄒魯負責策劃與駐廣西的滇、桂軍及駐西江的粵軍聯繫，組織滇、桂、粵軍聯合的西路討賊軍。林直勉、鄧澤如、廖湘芸也奉命入桂，進行策反工作。
跟陳炯明不和的劉震寰想取得廣西總司令的地位，最有勢力的沈鴻英也不滿於陳炯明的作法與掌握滇軍的楊希閔同與鄒魯、岑春煊策畫密談表示加入討賊軍，孫中山便委任為桂軍一路總司令、第二路總司和滇軍總司令。
12月26日，受孫中山委任的楊希閔、沈鴻英、劉震寰及擁護孫中山的粵軍等各派代表，在廣西白馬廟舉行商討戰略和合作問題會議組成西路討賊軍。
白馬會盟後，西路討賊軍迅速發起進攻。梧州早與西路討賊軍秘密聯繫裡應外合，未費一槍一彈就收復了梧州。西路討賊軍長驅直入挺進粵境，陳炯明大敗。1923年1月14日，粵軍紛紛宣布脫離陳炯明，擁護孫中山回粵。陳炯明被擁護孫文的滇系、桂系與倒戈粵軍聯合組成的西路討賊軍擊敗，1923年1月15日通電下野，率殘部逃亡惠州。
西路討賊軍進入廣州。1923年2月15日，孫中山偕同譚延闓回到廣州，3月1日孫中山第三次在廣州組織政府—海陸軍大元帥大本營，以伍朝樞外交部長、廖仲愷財政部長、譚延闓內務部長，蔣介石為大本營參謀長，朱培德為參軍、徐紹楨任廣東省長。孫中山回到廣州，沒有一時安穩的日子。4月，桂系軍閥沈鴻英接受北京政府所任命的廣東督理一職，發動了對廣州的攻勢。孫中山親自督戰很快擊敗沈鴻英。沈鴻英逃往香港。
此時佔據東江的陳炯明，在英國的支持武裝下又來攻擊，孫中山知道陳炯明已為大患，便命各軍圍攻其陳炯明亦在國民革命軍東征中被徹底打垮。

孫中山逝世

此時，孫中山認為自己跟段、張的主張已大致相同，且認為此時乃13年來最難得的一個謀取和平的機會，並建立一個統一政府，故很快發表《北上宣言》提出廢除不平等條約，組成「國民會議」，整裝離粵北上與段祺瑞籌開國民會議。孫中山赴北京後，把其在廣州的軍權交給蔣中正統領。1925年2月全權統率軍隊的蔣中正發起第一次東征，許崇智參加東征討伐陳炯明。張作霖、馮玉祥召開天津會議，決議成立中華民國執政府與善後會議以取代國會，由於孫中山於此時尚在來京途中，推段祺瑞先為「中華民國臨時執政」，兼任總統與總理之職。
孫中山1925年1月北上抵京後即開始病發，住進協和醫院進行治療，此時健康已急轉直下，至1925年3月12日孫中山在北京去世。北上議和籌開國民會議因此沒能成功。中央政治會議主席由胡漢民接任。統率軍隊東征陳炯明的蔣中正獲悉孫中山逝世消息後，在軍中發哀告全軍將士書，其後回師廣州祭奠。