差不多在郭松龄起兵反奉的同时,在天津一带发生了一场恶战,交战双方一边是冯玉祥的国民军,一边是李景林的奉军,史称国奉大战。国奉大战的两个对手本来是签了密约准备一起对付张作霖的,但是形势的发展让人始料未及。一方面张作霖对李景林做足了文章,让李景林心存观望;另外一方面冯玉祥动机不纯,想借李景林支援郭松龄反奉时趁虚抢占李景林的地盘。李景林大梦方醒发现情况不妙,立即改变策略,由原来联郭反奉迅速转为联奉反冯。1925年12月1日,李景林在天津召开军事会议并议决抵抗国民军的进攻。2日,释放了被郭松龄拘禁解津的奉军被俘的师旅长,让他们由海上返回奉天,并宣布与张宗昌组织“直鲁联军”。李自任总司令,张任副总司令。12月4日,李景林又发讨冯通电,查抄了郭松龄部(此时为东北国民军)在天津的办事处,逮捕了其驻津代表,扣留了郭部在津购置的棉军衣等军需品。李景林还致电张宗昌,请调德州驻军向北增援;致电阚朝玺,促其死守冷口,以阻国民军增援。李景林将所部4个师,14个混成旅,约6.7万兵力重新进行了部署,将五分之二兵力置在北仓、汉沟、韩家墅、王庆坨、军粮城一线,由马瑞云指挥,以防御国民军一军;以三分之一兵力放在良王庄、静海、马厂间,由李爽恺统领,以抗击国民军二、三两军;并在杨村以南构筑了坚固的军事工事。李景林态度的突然逆变,对郭松龄反奉及国奉两系力量的对比都发生了重大影响。
国民军与李景林决裂后,冯玉祥委张之江为攻津第一路司令,郑金声为副司令,率四个师、一个骑兵军团进攻天津北路。国民军二军邓宝珊为第二路司令,国民军三军徐永昌为副司令,率部从津南发起进攻。
此时,一军宋哲元部已进逼到承德。12月4日,段祺瑞下令免热河都统阚朝玺职,以宋哲元继任。12月5日,国民军占领承德。7日,宋哲元在承德就任热河都统,旋率部南下,参加攻津战役。
12月7日,国民军二、三军在南线发起攻击。邓宝珊率第七师、史可轩第二师一旅并高桂滋一个团,在津浦线以东向北进攻。国民军三军徐永昌率其师会同袁廷杰、庞炳勋二旅沿津浦线以西向北进击。李景林军右翼依托文安涯,左翼依托马厂減河抵抗,凭所筑坚固工事,将二、三军的进攻阻截。
12月9日,张之江率国民军一军分兵三路进攻津北之杨村、北仓、王庆坨。李景林军在北线防守的兵力有十三个团,凭险固守。张之江低估了李部的抵抗能力,仅投入了一个师三个旅的兵力进攻,且分散使用,损失惨重。
12月10日,国民军一军在猛烈的炮火掩护下,攻占了杨村,但仍没能突破李军北部防线,且付出重大伤亡。12月11日,国民军一军唐之道部攻占唐山、芦台,从东部进逼天津。同日,邓宝珊部攻占马厂。但是,双方仍在北线展开拉锯战。12日,国民军一军发动总攻击。李景林军倚仗沟垒深固,拼死顽抗,一军攻势仍没有进展。
为了迅速攻占天津,冯玉祥又急调热河都统宋哲元率部增援,使进攻的兵力达到10个混成旅,2个骑兵师及1个预备师。12月22日,张之江率国民军一军发动了总进攻。国民军在张贵庄五公里的正面地段,集中使用了三个师的炮兵轰击敌人阵地,然后,第四、第五步兵旅冲进突破口并加以扩大,第十一师也随之攻入。李鸣钟率十四混成旅由杨村向汉沟前进。宋哲元率三个混成旅由梅厂向王庆坨进攻。孙连仲率三个混成旅进攻韩家墅、杨柳青。唐之道部连克塘沽、新河、军粮城。与此同时,国民军二军从南路助攻杨柳青。国民军三军击败李军荣瑧部占领独流、静海。
直鲁联军副总司令张宗昌派程国瑞、徐泉源率部北上增援,但行至青县被国民军二军所阻。李景林军退守北仓,此时,国民军已从三面将天津包围。李景林亲自到穆家庄督战,指挥所部四次反扑,曾一度夺回北仓。下午,国民军李鸣钟部复克北仓。李景林军退守魏家庄。12月23日,李军全线动摇,李景林于下午逃入英租界。24日,李景林部全线崩溃,除部分被缴械遣散外,其残部大多乘火车逃往山东。负责南线作战的国民军二军、三军,因急于与国民军一军抢占天津,对逃敌没有进行堵击,使李景林残部从容败退。
国民军攻占天津之日,就是郭松龄在巨流河兵败身亡之时。
国民军与李景林的奉军进行的国奉之战,表面上收获颇丰,攻占了直隶并夺得了天津出海口,实际上却是得不偿失。此仗把本来可以成为盟友的李景林变成了敌人,且又没能将其全歼,而且还直接导致了郭松龄的迅速败亡。此外,国奉之战使国民军在北方各派军政力量中成为了孤家寡人,并直接促成了直、奉两系的和解,导致直奉两系联合对国民军开战,国民军在瞬间达到顶峰之后即迅速走向了下坡路。