1924年9月15日,張作霖在奉天組織鎮威軍總司令部,自任總司令。東三省共有二十五萬軍隊,他們被編成六個軍,其中四個軍約十五萬人直接用於入關作戰。張作霖同時任命楊宇霆為總參謀長,會同姜登選等人具體籌劃入關作戰的細節。
商討入關作戰,首先要解決如何入關。當時由奉天入關不外乎兩條路,一是由山海關入關,二是由熱河入關。山海關一路較近,而且地勢平坦,有現成的京奉鐵路可以利用,乃是進關的大道和捷徑,不過此處直軍的防備也較為嚴密。相對而言,熱河較遠,交通運輸困難,但直軍的兵力空虛。另外,若出兵熱河的話,還可以預防吳佩孚以重兵出朝陽,從而威脅錦州,切斷錦州以下全軍的後路。
張作霖最後採納了姜登選的方案,即先從熱河進兵,等熱河方面進至與山海關一線齊平時,再與集結於山海關前的主力一起出擊。為了適應這一戰略,張作霖派李景林第二軍出熱河,姜登選第一軍、張學良第三軍則在山海關至九門口一線待機。
善於用人是張作霖的另一個突出特點。此時孫烈臣已病逝,張作相、吳俊升、湯玉麟等舊派人物雖然能力平庸,無所作為,但卻能夠對張作霖唯命是從,忠誠度也較高,張作霖就讓他們領著第四、第五軍屯守後防,作為增援部隊,不直接參戰。對於直接參戰的新派人物,張作霖也「一個饅頭搭一塊糕」,根據將領們不同的性格進行精心搭配。比如,第一軍副軍長韓麟春個性急躁,喜歡不謀而動,第三軍副軍長郭松齡則貪功心切,好勝輕敵,張作霖就分別以姜登選、張學良進行制約。姜登選以沉靜克制著稱,張學良與郭松齡關係密切,就當時來講也能說服得了郭松齡。
戰爭打響後,從熱河出擊的第二軍進展迅速,很快就佔領了朝陽。韓麟春、郭松齡果然都按捺不住,兩人一個勁地催促著要求立即向山海關發動攻擊。姜、張均堅持既定方針不為所動,張學良說:「要攻必須得老將(奉系內部對張作霖的稱呼)許可。」韓、郭始默然而去。
等到第二軍逼近承德,韓、郭又叫喊著要向山海關進攻。姜、張則認為第二軍尚未到達長城一線,側翼仍存在不安全因素,故還是堅持原方針。直至10月7日,第二軍拿下承德,前鋒位置與山海關、九門口一線持平,姜、張在確定側背安全,已無威脅後,他們才下令發起全線攻擊。
山海關與九門口兩地之間有一座不可逾越的大山,它把山海關分成了兩個戰場,一為山海關正面,一為九門口及其以北以西附近各口。按照事先制訂的作戰計劃,前者由郭松齡負責,後者由韓麟春率負責,第一、第三軍另外成立指揮部,對戰場進行統一指揮,兩軍也因此合稱為「一三聯軍」。
地形上,山海關正面比較平坦,九門口一帶則山嶺連綿不絕,指揮部預計山海關正面戰場會先得手,所以在這方面配備的兵力最多,而且全都是久經沙場、富有作戰經驗的精銳老兵。結果是這一戰場倒是戰鬥最激烈,死傷也最重,可就是攻不破對方的陣地。
郭松齡屬於勇將派將領,作戰主要靠硬打硬拚。進攻受挫,他不加以分析研究,仔細想想為什麼受挫,反而仍是一味督兵強攻,大有不奪取山海關絕不甘心之勢。眼見得第三軍參戰部隊傷亡慘重,用張學良後來的話說,「我有一個團,差不多整個地全完了」,面對此情此景,連坐在指揮部裡的張學良都感到吃不消,他對郭松齡說:「老郭,不能再干了,如果再賭氣,咱們的本錢要輸光了!」
原來山海關正面雖然平坦,看上去沒有什麼不可逾越的險要,但卻正好有利於守軍消滅射擊死角,從而充分發揮其熾盛火力的威力,也就是說此處貌似易攻難守,實質易守難攻。與之相反,九門口一帶表面險要,運動困難,實際山嶺愈高,死角愈大,也愈容易避開守軍的火力。
民初時軍用地圖稀缺,能找到的可用地圖,只有清末各省測量局所測繪的二萬五千分之一地圖,由於它對地形地貌的描寫非常簡略,所以軍事上的使用價值並不大。作戰開始時,聯軍指揮部憑圖查看,然而看來看去,對於九門口附近到底有哪些關口,有無道路可通關內,仍然是一頭霧水。這時町野的日本顧問一職早已到期,張作霖又改聘他為私人顧問,日本政府派來接替町野的是儀我誠也。儀我住在聯軍指揮部,他隨身攜帶有日本參謀本部間諜秘密在中國測繪的地圖一份,該地圖為五萬分之一地圖,儘管比例尺比中國地圖大一些,但十分精細。指揮部借來一看(只能借閱查看,不允許翻印),才發現九門口附近還有多處小路和山口,且有羊腸小徑直通關內。
指揮部如獲至寶,當即根據這份地圖擬訂攻擊計劃,並由韓麟春部孫旭昌團擔任主攻。孫團平時系姜登選親自掌握的部隊,戰鬥力極強,尤善於山地攻堅。這個團上去後,很快就沿著小路山口,採用分進合擊的方式拿下了九門口。