護法運動
護法戰爭（1917年—1922年），又稱護法運動、護法之役，是由孫中山領導反對段祺瑞主導的北洋政府，維護《中華民國臨時約法》、恢复中華民國國會，在廣州建立護法軍政府的行動。一般以廣州護法軍政府成立之日1917年7月17日為護法運動的起始點，戰爭在1917年10月在湖南展開。在中國國民黨歷史中，亦稱為「三次革命」。
因革命党自民初遭袁世凯裁军，二次革命失败后，更被撤下所有军权，甚至发展党员也必须秘密进行，因此袁世凯死后，及至孙中山南下护法，虽然组成护法军政府，实际上却受桂军牵制。第一次护法因桂系夺权改组军政府、架空孙中山而失败。孙中山为发展粤军，大力筹备粮饷，驱逐桂系以后，第二次护法又因陳炯明兵变而失敗。
袁世凯死后，以北洋正統派首領自居，依附日本的皖系軍閥首領段祺瑞在控制國家財經命脈支柱的交通系和安福俱樂部擁戴下出任國務院國務總理，舊國會亦恢復。不久，黎元洪與段祺瑞在國務院秘書長人選上發生爭執，請出北洋軍閥元老徐世昌出面協調。其後因中國是否因第一次世界大戰向德國宣戰，發生府院之爭。
日本表示支持皖系、交通系的段祺瑞，英、美等支持研究系、直系的黎元洪、馮國璋。段祺瑞主張參戰，而黎元洪及國會有所保留。段祺瑞下令手下十幾個督軍組成「督軍團」開到北京施壓，要黎元洪在對德宣戰書蓋印，為了平息風波黎元洪勉強同意蓋印。段祺瑞仍不滿足，又大肆干涉國會。後來段祺瑞私自向日本借款事件被揭露，1917年5月21日，黎元洪下令撤銷了段祺瑞的國務總理職務，免去總理之職。任伍廷芳出任代理國務總理。
段祺瑞憤然離京去津，並指根據《臨時約法》，總統無權撤銷總理職務，因而段祺瑞不承認免職令，並命令屬下各省督軍宣佈獨立。擁段的督軍在各地宣佈獨立。
黎元洪急電召安請督軍團團長張勳入京調解，段祺瑞欲利用張勳對付黎元洪而支持入京。卻引致張勳在1917年7月1日為溥儀復辟，黎元洪迫於張勛的壓力，要伍廷芳簽署解散國會的命令，伍廷芳辭職拒絕，黎元洪任命江朝宗代理總理，簽署解散國會，隨後卸任。國會亦被解散，是為「張勳復辟」。
「張勳復辟」最後被段祺瑞的討逆軍所鎮壓，黎元洪引咎辭職，7月6日總統之職由英美支持扶植的直系軍閥馮國璋取代，馮國璋代理大總統，段祺瑞任國務總理，重新掌握北京政府實權。段祺瑞稱事件為「再造共和」，但段祺瑞一上台就把毀滅約法和武力統一作為施政重點，公開宣佈「一不要約法，二不要國會，三不要舊總統」，是因為國會曾反對他。段祺瑞廢止了1913年選出的國會，與進步黨首領，研究系的梁啟超等組織臨時參議院。
南方五省（粵、桂、滇、黔、川）軍閥均反對段祺瑞的做法，僅由段祺瑞控制的十四個行省進行國會選舉。其選舉過程被段祺瑞的皖系「安福俱樂部」所控制，故稱為「安福國會」，原有法統亦已不再存在。日本支持的皖系軍閥段祺瑞後連合日本幕後扶植的奉系軍閥張作霖、英美支持的直系軍閥的馮國璋、成立英、美、日列強支持的北洋新政府，力求專制和武力統一。
返回中國隱居的孫中山跟黎元洪和舊國會的「院派」，同樣反對中國參戰的態度。當張勳復辟時孫中山首斥段祺瑞召禍致亂，斥段祺瑞為「以叛討叛，以賊討賊」亦不滿日本大舉介入干涉中國內政。於在上海支持聲援「院派」反對北洋政府專政解散國會。德國公使辛策於3月25日返國前，特命德國駐上海總領事竭力聯絡孫中山，表明德國願支持中華革命黨的運動並同盟對抗日本。為此克里平派其翻譯西爾穆爾(Schirmer)與曹亞伯相偕秘密謁見孫中山。
過去的盟友日本在中國的活動已引起孫中山的擔憂和反感，孫中山對與德國聯手對抗段祺瑞，和北洋軍背後的日本表示甚為贊同。為與北洋軍作戰所需的資金，孫中山向德國協商支援二百萬銀圓款項。由孫中山所信任的蔣中正負責經手交涉，一說蔣中正與張靜江在旗下開設的上海證券交易所與金融界也募集大量資金，作為孫中山的軍費後盾。
護衛《中華民國臨時約法》的孫中山號召下，章太炎、李烈钧、譚人鳳等人也紛紛再度加入旗下擁護《臨時約法》恢復國會，遂展開護法運動。
1917年7月17日，在章太炎陪同下，孫中山率領兩艘軍艦從上海抵達廣州，正式揭起護法旗幟。此时张勋复辟已经于7月12日被段祺瑞再造共和的讨逆军粉碎，但是段祺瑞表示拒绝恢复旧国会，拟定要重新选举新国会。孙中山在到達廣州的當日晚，就發表演說，明確提出護法的宗旨是打倒假共和，建設新共和，並呼籲各界奮起為護法而鬥爭。通電號召北京旧國會議員南下參加護法到廣州另組新政府。海軍總長程璧光反對段祺瑞蹂躪約法破壞民國，擁護孫中山的護法主張，宣佈脫離北京政府。從上海率第一艦隊永丰舰等九艘战舰支持孫中山，於7月22日抵達廣州，壯大護法的聲勢。徐绍桢应孫中山之邀由沪至粵共同护法。伍廷芳、王正廷、唐紹儀、孫洪伊等旧國會議員應孫中山的號召，南下廣州。
護法運動當時也得到在地方上實質獨立，原護國軍組成的西南軍閥某種程度的支持。段祺瑞的武力統一政策除了對付革命派以外，也直接危及到西南軍閥的地盤，因此他們想借助孫中山的聲望，以對抗段祺瑞的武力統一和擴大自己的實力。廣東、廣西、雲南、貴州與四川相繼再次宣佈脫離北洋政府加入護法運動，大西南連成一片，成為護法中心。
8月25日，南下旧國會（參議院議員274人，眾議院議員596人，共有議員870人）議員只有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日發動直皖戰爭，皖軍大敗。曹錕、吳佩孚擊敗皖系，逼退段祺瑞，解散安福國會共同控制北京政府。在張作霖支持下，原來就毫無實權，在各派系軍閥居間調停的徐世昌繼續任職傀儡總統。
1920年6月，徐绍桢被孙中山任命为两广各路招讨军总司令。7月，孙中山策动徐绍桢率数千救国军在广东江门起兵，分五路攻打桂系盘踞的广州，掀起讨桂序幕。1920年8月，在粵軍的嘩變支持下，孙中山力促粤军自福建回师广东，由陳炯明、許崇智指揮粵軍進攻廣州驅逐滇、桂等「客軍」，分三路向粵邊境攻擊前進。許崇智任前線總指揮，突破大埔、梅縣，苦戰經月攻佔河源。10月20日，受傷的許崇智因病離軍。孙中山命令下再度赴廣的蔣中正，代替許崇智出任前線總指揮，並於22 日攻克惠州，10月22日，粵軍三路並進廣州發起總攻，28日光復廣州。11月2日，蔣中正交還指揮權給許崇智與陳炯明後，再度婉拒陳炯明的慰留離職回滬。
孫中山於1920年11月28日重返廣州，重建軍政府，返回廣州後孫中山宣布重組護法軍政府，繼續護法運動。「第二次護法」開始。
1921年1月12日，非常國會在廣州復會。4月2日，非常國會開會，取消軍政府，聲稱組織正式中華民國政府，為廣州中華民國政府，4月7日通過選舉孫中山為「大總統」，於5月5日在廣州就職。
孙中山当选后向国内外分别发表声明，并写公开信给北洋政府大总统徐世昌劝他自动离职。同时发表他的新政府的人事名单：孫中山就職「大總統」後主張以武力統一中國。但孫中山的北伐主張，遭到藉由粵軍發展在廣東坐大的陳炯明反對。陳炯明主張聯省自治—由湖南督軍譚延闓提出並獲得浙江的盧永祥、滇系唐繼堯、桂系陸榮廷、奉系張作霖、四川的劉系軍人，胡適、梁啟超、蔡元培、章炳麟、張東蓀、丁世澤、潘力山響應的聯邦制。
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月21日，孫中山回到廣州。3月2日，孫中山第三次在廣州組織政府—海陸軍大元帥大本營，以伍朝樞外交部長、廖仲愷財政部長、譚延闓內務部長，蔣介石為大本營參謀長，朱培德為參軍、徐绍桢任广东省长。孫中山回到廣州，沒有一時安穩的日子。4月，桂系軍閥沈鴻英接受北京政府所任命的廣東督理一職，發動了對廣州的攻勢。孫中山親自督戰很快擊敗沈鴻英。沈鴻英逃往香港。
此時佔據東江的陳炯明，在英國的支持武裝下又來攻擊，孫中山知道陳炯明已為大患，便命各軍圍攻其陳炯明亦在國民革命軍東征中被徹底打垮。
1924年10月23日，北洋直系中受革命思想影响的将领冯玉祥发动北京政变，囚禁贿选总统曹锟，推倒了北京的直系政府，发出了和平解决国是的通电，特邀孙中山北上，共商国家统一大计。11月10日，孙中山发表《北上宣言》，主张召集国民会议，以谋求中国之统一建设。13日，孙中山离广州北上，辗转香港，经赴上海，抵达北京，并把其在廣州的軍權交給蔣中正統領。1925年2月全權統率軍隊的蔣中正發起第一次東征，許崇智参加東征討伐陳炯明。張作霖、馮玉祥召開天津會議，決議成立中華民國執政府與善後會議以取代國會，由於孫中山於此時尚在來京途中，推段祺瑞先為「中華民國臨時執政」，兼任總統與總理之職。
孫中山1925年1月北上抵京後即開始病發，住進協和醫院進行治療，此時健康已急轉直下，至1925年3月12日孫中山在北京去世。北上議和籌開國民會議因此沒能成功。中央政治會議主席由胡漢民接任。統率軍隊東征陳炯明的蔣中正獲悉孫中山逝世消息後，在軍中發哀告全軍將士書，其後回師廣州祭奠。
護法軍成立後，北洋政府、民國軍閥、歐美列強和各界重要人物開始積極找有相當軍事實力和影響力的孫中山談判聯盟。護衛臨時約法、號召恢復舊國會、黎元洪復職、重建共和政府法統、廢除不平等條約的訴求，成功影響輿論，壓迫北洋政府做出回應。「衛法復統」革命北伐的軍事行動也使北洋軍閥形勢大變，而成功改變皖系段祺瑞、盧永祥以及奉系張作霖的想法態度，認同護法理念同意合作。甚至與原屬國民軍勢力的馮玉祥、閻錫山等軍閥連絡，爭取到他們響應。日後皖、湘、鄂、粵、閩、桂、滇、黔、川、奉、晉、西北系常採取和國民軍合作甚至效忠，與此不無關係，由對全國產生大變情況來看，護法運動效果相當顯著。
学者谌旭彬认为，1917年开始的护法战争，现今被许多学者和媒体所否定，或者说护法军政府因“非常国会”未达到法定人数，本身不符合《临时约法》；或者指责护法战争“以暴制暴”，毁了中国的民主前途。这两种指责都不值一驳：因为如不“护法”，则《临时约法》和民元国会将被北洋系的“安福系宪法”和“安福国会”所取代；《临时约法》和民元国会固然有种种缺陷，但却是民国法统之所在。人们更应该关注的是，孙中山在发动护法前夕著就的《民权初步》一书。近代中国以来，标榜“人民当家作主”者数不胜数，但教给民众如何去实践民主的具体方法的，迄今为止，有且仅有孙中山先生一人而已。
民国时期报人评价：“護法戰爭期間，中國國家所受之損失，最大者爲：一，段祺瑞之濫借外債，其數目爲若干萬萬，至今尙無人能確斷，其用途則購械打仗之外，畜養無恥政客而已；二，政治道德之敗壞，安福系之橫行，新國會之穢聲，其政治上之罪惡，較袁世凱時直有過而無不及。”