張作霖在出任蒙疆經略使時,以親征外蒙為名,將奉軍擴編為十個混成旅。在這次擴編中,張學良、郭松齡均被晉陞為少將,一個擔任第三混成旅旅長,一個升任第八混成旅旅長,兩旅組成聯合司令部,合稱「三八旅」。
張學良名為旅長,但人常在總司令部參贊,聯合旅的行政、訓練均由郭松齡負實際責任。張學良自己也樂得卸責,對外聲稱:「我就是郭茂宸(郭松齡字茂宸),郭茂宸就是我。」
張學良懶得抓軍隊,郭松齡則是求之不得。他對聯合旅實行了一系列改革,除實行精兵主義,裁汰匪兵、兵痞外,還對軍官量才錄用,一遇部隊官佐出缺,即擇優升補。奉軍在未經整理之前,人事制度極不健全,護兵警衛是進身之階,親戚好友是陞官標準。只有聯合旅是按一定制度晉陞,這樣較為完整的人事制度,保證了軍無怨言,因為一旦軍官出缺,大家都知道應該由誰提升補缺。
郭松齡把「三八旅」訓練成奉軍精銳,是開了奉軍正規化的先河,當時所謂東三省新軍,指的就是郭松齡所練之兵。作為「三八旅」聲名在外的另一個最大受益人,張學良不僅被外界視為奉軍中的新派首腦,他在軍界的地位也相應得到鞏固,時人皆稱其為「少帥」。
民初那些叱吒風雲的重要人物,父輩再怎麼英雄蓋世,後代都少有能成才的,像袁世凱的長子袁克定還是個「坑爹」貨,活生生就把老子給坑死了。段祺瑞的長子段宏業與張學良同被列入民國「四公子」之列,但在軍政方面一無建樹,身上沒有一點其父的才能與魄力,以致段祺瑞要麼不提他這個兒子,一提起來就很生氣。與這些窩囊廢般的公子哥相比,張學良顯得格外突出,也令人眼羨,連段祺瑞的部下、皖系大將魏宗翰都曾為自己的老大叫屈:「張學良才十九歲就當旅長,固然是沾他父親的光,但總有相當的軍事知識和帶兵能力,怎麼段大少爺(指段宏業)就不行呢?」
在直奉戰爭中,張學良被任命為東路第二梯隊司令,郭松齡與「三八旅」列入該梯隊序列。開戰之初,郭松齡即率部一舉攻下勝芳鎮,日本所辦的《盛京時報》以大字標題進行報道,謂之「攻下勝芳之勝將郭松齡」。及至奉軍全線大敗,各旅都被打得支離破碎,唯有「三八旅」等部敗而未潰,仍保持著完整編製。
當奉軍在山海關集結時,張學良已逃回奉天,他給郭松齡寫信,信中說:「方今勢危時迫,榆關(即山海關)可守則守之,否則請退處一隅,養精蓄銳,以待再舉……望勿逞憤一時,置全軍於不顧也。」
按照町野的總結,張作霖最大的特點是不怕死,富於決斷力,即便吃了這麼大一個敗仗,仍要在灤州或山海關組織抵抗。張學良來信的意思則跟他老子完全相反,其實就是要郭松齡保存實力,把「三八旅」撤往關外。接信後,郭松齡頗費躊躇,想想張作霖新敗,要找個借口敷衍他或許不難,怕就怕吳佩孚緊追不放,乘勢對奉軍予以殲滅性打擊,須知,潰退部隊是最沒有戰鬥力和抵抗力的。
猶豫了半天,郭松齡派了個密使去見吳佩孚,要求停戰,條件是他將聯合各軍,逼迫張作霖下台,「三省交由人民自治」。誰知打了勝仗的吳佩孚尾巴翹到天,根本就不予理會。被吳秀才打了臉後,郭松齡又羞又怒,遂聯合李景林第三梯隊在山海關組織防禦。
直軍以破竹之勢追到山海關,滿以為奉軍已成烏合之眾,可一舉攻入關外,搗毀奉張的老巢,不料卻在山海關石門寨一線遭到「三八旅」王升文團的猛烈抗擊。王團戰鬥力之強,遠遠超出曹、吳意料之外,結果雖然團長王升文陣亡,全團官兵也損失甚重,但畢竟阻擊了直軍的攻勢,穩住了整個奉軍的陣腳。與此同時,李景林第三梯隊也打得不錯,直軍的進攻鋒芒受到極大挫折。
山海關戰役雖然主要是由郭松齡、張景林實際指揮,但張學良卻是名義上的戰場最高指揮官,等於又不花力氣地拿到了功勞,他對此很得意,後來回憶說:「第一次直奉戰爭時,奉軍所有部隊都被打垮了,就我指揮的部隊沒有被打敗,不僅沒被打敗,還把吳佩孚的軍隊給打了,我就是這樣起來的。」
山海關戰役的勝利只是讓奉軍喘了口氣,並無力量反擊或與直軍大打出手,於是張作霖藉著取勝之機,托人請英國公使和傳教士出面調解,欲與直系議和。經此一戰,曹、吳認識到張作霖仍擁有實力,並不是他們想滅就能立刻滅得了的,而且直軍大部隊在追到山海關時同樣已精疲力竭,遂也決定見好就收。
1922年6月16日,張學良與直方代表王承斌會晤於秦皇島車站。次日,雙方即在秦皇島港英艦上正式簽訂了停戰和約。