袁世凯死后,黎元洪继任总统,皖系势力人物段祺瑞为国务总理。1917年5月,国务总理段祺瑞利用督军团压迫国会接受对德宣战案,遭到黎元洪总统和国民党占优势的议会的坚决反对,孙中山也与章太炎、岑春煊、唐绍仪联名致电段祺瑞及参众两院,要求他们遵守约法、尊重国会。段祺瑞竟雇佣流氓和军警,包围国会,殴辱议员,众议院为之群情愤慨,乃停止会议表示抗议,国务院的全体国务员也相继辞职,整个内阁仅剩国务总理兼陆军总长段祺瑞。黎元洪罢去段祺瑞国务总理一职后,引督军团团长张勋入京,却引致张勋在1917年7月1日拥清室复辟,国会亦被解散,是为“张勋复辟”。
孙中山从袁世凯复辟到段祺瑞专权到张勋复辟,目睹了各派军阀为了夺取和占据国家权力,肆无忌惮,随意践踏作为中华民国象征的《临时约法》,认识到只有彻底推翻军阀的黑暗统治,才能够维护临时约法和国会,捍卫民主共和制度。孙中山以恢复《中华民国临时约法》为号召,两次组织和领导了武装反对北洋军阀政府,保卫中华民国的“护法斗争”。
1917年7月3日,孙中山在上海召集在沪陆海军及国民党要人讨论拥护共和、出师讨逆大计。8月25日,南下广州,召开“国会非常会议”(俗称“非常国会”)。通过《中华民国军政府组织大纲》,规定中华民国为戡定叛乱、恢复《临时约法》,特组织中华民国军政府。为了适应护法戡乱的战争需要,军政府没有采纳《临时约法》规定的内阁制,而采取中华革命党《革命方略》中提出的党、政、军权合一的大元帅制,实行军事、内政、外交合一的元首制,体现了以孙中山为首的革命党人希望通过护法运动建立本党单独执政的资产阶级革命政权的意图。“护法”伊始,全国各地遥相呼应,安徽、浙江、湖南、湖北、陕西、西川等地纷纷组织护法军,攻势锐猛,所向披靡。孙中山试图依靠西南军阀的军事实力来反对北洋军阀,但是滇桂两系军阀却是为了自身的利益和扩张的需要,假借孙中山护法旗帜,对抗段祺瑞的“武力统一”而已。孙中山虽为大元帅,却难以指挥军政府的北伐战争。而当北洋军阀内部直、皖系军阀由于权力之争发生矛盾时,滇、桂系军阀即与直系军阀相勾结,主张南北停战议和,在军政府内部不断制造分裂活动,排挤孙中山,破坏护法斗争。提出改组军政府,强行通过了《修正军政府组织法案》,剥夺了孙中山的领导权,第一次护法斗争无果而终。
1921年1月,孙中山借助粤系军阀陈烔明的支持,以驱逐桂系军阀为起点,发动了第二次护法斗争。但是,很快也因为陈烔明勾结直系军阀发动武装叛乱,第二次护法战争再次失败。