頃後,胤回師東進,大敗司馬望與街亭,斬首兩萬餘級,繼而東進,取陳倉,斬王渾、蘇愉,五丈原再敗司馬望。四月,克長安,司馬望自焚而亡。長安之役中,漢軍動用火藥,堅如磐石之長安城牆傾刻之間倒塌,舉世皆驚。
五月,胤率二萬五千人,從子午道入漢中,解黃金之圍,一路西進,得漢、樂、陽安諸城,收複漢中。彼時鍾會在益州,糧道全在漢中,漢中既失,糧道斷絕,鍾會大軍陷入絕境,被迫東渡涪水,撤至巴西,薑維複克劍閣、城都,恢複與漢中之交通。
長安既失,司馬昭急調南安將軍杜預至上庸,攻打武關,牽弘不能敵,連失武關、商縣諸城,死守藍田關。胤未及救援,乃率部從漢中沿漢水東進,侵入上庸三郡。杜預恐上庸有失,後路被斷,乃從武關退兵,胤則順勢退兵,返回長安。懷帝聞胤取關中,大悅,封胤為驃騎大將軍。
秋八月,晉王司馬昭卒,子司馬炎立。胤以荊州商人之身份,潛入洛陽,策動司馬攸兵變。攸,昭次子也,因司馬師無子,過繼之,昭在位之時,有意立攸為世子,曰:“此景王之天下也,吾何與焉。”何曾賈充等諫之,皆曰不可廢長立幼,昭躊躇未決。及胤至,與攸謀,炎懼,恐失其位,入宮殺昭,枉圖自立,然攸為衛將軍,掌京幾兵馬,炎事泄,遭囚禁。胤建議攸殺炎以絕後患,然攸念及手足之情不忍動手,及羊祜、陳騫、石苞勤王兵至,炎得勢,攸為階下囚,胤攜司馬師女司馬青遁走,輾轉荊州回長安。胤納司馬青為次妻,生子征。司馬炎廢魏帝自立為帝,國號晉,改元泰始。
四年春,鮮卑人禿發樹機能叛於河西,殺西羌王姚柯回,胤興兵討之,獨創偏廂車,破禿發樹機能於河西走廊,收複武威、張掖、酒泉、敦煌四郡,禿發樹機能逃至烏孫國。胤本欲追擊,鄧艾諫曰:“公不聞郭嘉遺計定遼東之事?”胤乃止,及明年春,烏孫國主遣人送禿發樹機能及敦煌太守馬循人頭至,胤遂還師。
司馬炎稱帝之後,發兵三路,徑取關中,一路攻潼關,一路攻武關,一路攻蒲阪津,皆為漢軍所阻,未得寸進。陸抗則趁機取弋陽,晉廷震動。炎乃令鍾會撤出益州,會至襄陽,殺扶風王司馬亮,反,自立為魏興王。匈奴人劉淵為上黨太守,欲遷為帶方太守,淵不滿,起兵反於晉陽。一時晉國東西受敵南北俱反,國勢頹危。
胤言之:“胡夷乃我漢民族之仇敵,漢與晉雖勢不兩立,但同為炎黃子孫,理當捐棄前嫌,共抗胡虜。”遂與晉議和罷兵。未幾,北地胡亂,眾皆稱胤睿智。胤調兵平叛,匈奴郝散部、氐齊萬年部、馬蘭羌、盧水胡盡數皆平。
七年春,胤東渡黃河,進擊匈奴劉淵部,取左國城,殺劉淵父劉豹,至晉陽,而後東進,兵分三路,東路右軍都督羅憲至冀州,北路左軍都督傅僉至新興、雁門,南路胤自率至上黨。胤至上黨,與數倍之匈奴、羯敵周旋,輾轉於山林險惡之地,糧資匱盡,和雪為食,至若艱險,曆三載,取上黨,進河東,與羊祜聯,破晉陽,平並州。劉淵逃往冀州。
胤率軍東進冀州,巧取抱犢寨,出井徑口,據真定,羊祜亦出樂平,取趙國,對信都劉淵形成合圍之勢。胤決漳水灌信都城,淵大敗,隻得向慕容鮮卑求援。慕容鮮卑覦覷中原久矣,派兵七萬南下,至漳水,遭伏,全軍盡墨,淵亦死於易水,胡亂悉平。
十年秋,晉罷羊祜,以司馬駿為都督,文鴦、馬隆為副,攻信都,漢晉戰於冀州,安國之戰,重創司馬駿。十一年春,戰線重心移至並州,為爭並州,雙方皆是重兵西進,胤棄上黨,誘文鴦攻平陽,敗之,鴦退守壺關,自刎而死。漢軍東進,戰於羊腸阪,生擒司馬駿。