1924年2月,23歲的徐向前和山西老鄉白龍亭、孔兆林、趙永貞、郭樹雲等人乘坐火車去上海報考黃埔軍校,黃埔軍校當時在廣州,那麼為何他們要去上海呢?因為黃埔軍校當時面向全國招收學生,在上海專門設立了一個辦事處,負責北方報考者的招收。
上海的黃埔軍校招生處對北方的報名者進行了初試,由于當時是黃埔軍校第一次招生也迫切的需要人才,是以初試很簡單,徐向前和同去的十幾個山西老鄉都通過了。上海辦事處給初試通過的人都發了路費,讓去廣州參加複試。
徐向前等人乘坐輪船到了廣州,休息幾日後在廣東高等師範學校進行了考試,數學題最難不少人都交了白卷,徐向前也考的不理想,大家都非常忐忑,擔心白來一趟,不過放榜的時候徐向前和十幾個山西老鄉都被錄取了,原來錄取時定的原則是考慮到報名的都是熱血青年,是以能錄取的盡量都錄取了。

嚴格的說黃埔軍校一期是一個速成班,主要原因還是當時急需軍事人才,按照正常進行幾年的學習也是不現實的,1924年6月16日,黃埔軍校正式舉行了開學典禮,而到了第二年的2月,這些一期的學生們就參加了第一次東征陳炯明,當時的黃埔生都是熱血青年,作戰非常勇敢,明顯不同于舊軍隊。
1925年9月6日,徐向前從黃埔軍校畢業,當時的畢業生共449人,畢業後徐向前留在學校任排長,不久他又被派到了北方的馮玉祥部工作。馮玉祥當時思想比較進步,他和廣州方面的關系也很好,為了改變部隊舊軍隊的習氣他對黃埔生前來工作也是比較支援的。
為何是徐向前和白龍亭、孔兆林等山西人被派去?一方面是徐向前和幾個老鄉商議後,認為他們都是北方人是以向校方申請去馮玉祥部工作;另一方面,廣州方面也希望馮玉祥的國民軍能有一些黃埔生工作,是以馬上準許了徐向前等人的請求。
國民軍的主力是三個軍,馮玉祥任國民軍總司令兼第一軍軍長,胡景翼任副司令兼第二軍軍長,孫嶽任副司令兼第三軍軍長。徐向前被派去了第二軍,他去的時候胡景翼病逝,該軍軍長由師長嶽維峻接任。
國民軍有三個軍,第一軍是馮玉祥的基本部隊,戰鬥力和軍紀尚可,第二軍和第三軍戰鬥力差,尤其是嶽維峻接任第二軍軍長後,大肆擴充部隊,收編了許多土匪武裝。部隊一度擴充到20萬,但是這些部隊空有數量品質極差、
徐向前到第二軍的第六混成旅二團當團副,國民軍的團副地位并不高也沒有實權,并非一些人認為的是副團長,實際上團副就是團長副官的簡稱,團副是不可能代行團長職權的,也很少有外放擔任營長、連長的。在國民軍的這段日子,徐向前其實并沒有多少事幹也沒有部隊可以指揮。
1925年10月,浙江督辦孫傳芳發動浙閩蘇皖贛五省聯軍讨伐張作霖,馮玉祥和孫傳芳結盟,兩人約定徐州以南的滬蘇皖地區由孫傳芳部攻取,徐州以北之山東、直隸地區由馮玉祥部攻取。11月張作霖和馮玉祥正式決裂交戰,馮玉祥令嶽維峻率第二軍攻取山東。
嶽維峻的部隊擴充到了20萬,單看數量确實是一支龐大的部隊,他躊躇滿志之下分兵同時攻打山西和山東,結果山西一路被閻錫山擊敗,山東一路被張作霖、吳佩孚聯軍擊敗,二十萬大軍頃刻間土崩瓦解,嶽維峻兵敗逃到山西成了閻錫山的階下囚。徐向前所在的團被張作霖部的騎兵擊潰,團裡的兵士四散奔逃。
徐向前眼見嶽維峻的部隊軍無鬥志,一觸即潰,非常的失望,他和幾個同鄉一氣之下離開了國民軍回到了山西老家。在國民軍不到一年的軍事生涯,使徐向前徹底認清了舊軍隊,也讓他的思想發生了深刻的轉變。