1927年3月,北伐军占领南京。4月12日,蒋介石发动政变,公开叛变革命,成立南京国民政府。时卫立煌的第14师和顾祝同的第3师共同担负南京卫戍任务,卫立煌任南京卫戍副司令。8月底,军阀孙传芳强渡长江进攻南京,卫立煌率部与之在龙潭车站激战5昼夜,击溃孙部进攻。此后不久,阎锡山、冯玉祥联合反蒋的“中原大战”爆发。正当蒋介石的精锐部队相继北上之际,石友三又突然在浦口倒戈,南京顷间受到严重威胁。蒋介石在无计可施的情况下,只得让卫立煌速回安徽组织军队保卫南京。卫立煌认为南京有孙中山先生的陵园而应该去保卫,最终还是接受了蒋介石的号令。到安徽后,他迅速组建了多由合肥子弟组成的第45师,亲率这支子弟兵赶到南京与石友三部激战,很快便击溃石友三部,解除了南京之围。
忻口战役与八路军共同抗日
1936年12月西安事变爆发,卫立煌随蒋介石等一同被扣。在此期间,周恩来把他作为重点团结对象,对其作大量工作,卫立煌的思想发生重大转折,开始认识到抗日救国是全国人民的共同要求;内战一定不能再打。1937年7月卢沟桥事变爆发后,任第14集团军总司令的卫立煌致电蒋介石,表示对日不可软弱让步,请缨北上抗击日军。
平津失陷后,中日双方交锋重点移至平绥铁路要冲南口。卫立煌奉命率部队驰援,在平西与日军展开激战。旋南口失守,率部跳出日军重围。时进攻山西的日军突破国民党军在晋北的长城防线,占领大同,直逼太原。第二战区司令长官阎锡山致电蒋介石,请派卫立煌率部增援。卫立煌奉命于10月初率部开赴太原前线,并被任命为第二战区前敌总指挥,统率晋西北全部中国军队约10万人,在忻口阻截日军南下,由此爆发了著名的忻口会战。双方血战20余日,日军付出惨重代价,始终未能突破卫部防线。忻口会战是抗战时期华北战场规模最大、中日双方伤亡都很惨重的一次大战。卫立煌率部歼敌2万余人,创华北战场大量歼敌的最高记录。10月30日,战局突变,从东面进攻太原的日军突破娘子关中国守军阵地,直趋太原,忻口守军陷入日军南北夹击之中,卫立煌被迫于11月2日下令全部南撒。