文公殺死子圉,在秦的參與下,尊王攘夷,敗楚城濮,成為霸主。
秦穆公三十二年(前628年)冬,晉文公死。這時,杞子從鄭國派人送信回國,說:“鄭人將北門的鑰匙交給了我,如果悄悄地派軍隊來,鄭國就能得到。”秦穆公問蹇叔和百里奚,兩人回答道:“經過幾個國家幾千里路去襲擊別人,很少有成功的。我軍的行動鄭國一定會知道,不能去!”秦穆公說:“我已經決定了,你倆不必再說。”於是派遣百里奚的兒子孟明視、蹇叔的兒子西乞術和白乞丙三將帶兵出發。百里奚和蹇叔哭著為軍隊送行,秦穆公很生氣,說:“我出兵,你們卻哭著沮喪我軍計程車氣,這是為什麼?”二老答道:“我們並不敢沮喪士氣。只是我們年紀大了,兒子要出征,怕以後再也見不看了!”二老對其兒子說:“你們的軍隊一定會吃敗仗,晉人將在崤山(河南省西部,靈寶縣、陝縣南部)阻擊。”三十三年(前627年)春,秦軍東去,經過成周北門時,車左、車右都脫去頭盔下車致敬,隨即跳上車去的有三百輛戰車的將士。王孫滿看了以後說:“秦軍輕挑而無禮,一定會失敗!”秦軍經過滑國時,鄭國的商人弦高正販了牛準備到周去賣,見秦軍,就將所帶的十二頭牛全部迭給秦軍,說:“聽說大國將要誅滅鄭,鄭君已經作好迎戰的準備,派我先迭十二頭牛犒勞貴軍士卒。”秦軍三位將軍商量道:“鄭國已經知道我軍要去襲擊,去了也沒有用。”於是滅了滑國,往回撤兵。滑是晉國的同姓之國。當時,晉文公還沒有下葬。太子襄公憤怒地說:“秦國欺侮我喪父,乘機攻滅我的同姓之國。”於是,將喪服染成黑色,出兵在崤山阻擊,大敗秦軍,將三位秦將全部俘獲。晉文公的夫人文嬴,是秦穆公的女兒,她對襄公說:“這三人挑撥我們兩國國君的關係,穆公對三人恨入骨髓。你何必自己去殺他們呢?不如放他們回去,讓穆公去將他們煮死!”晉襄公同意了。孟明視三人生怕晉襄公變卦,拼命往回趕。沒過多久,晉襄公果然後悔了,派陽處父去追;陽處父追到黃河邊,孟明視等人乘的船剛剛離開岸邊;陽處父急中生智,解下拉車的馬說:“這是我們國君送給你們的千里馬,請三位回來接受。”三位秦將哪裡還敢上岸?陽處父無奈,眼看著那隻船朝對岸劃去。就這樣,孟明視、西乞術、白乙丙三人回到了秦國;秦穆公穿了素服,看到郊外迎接孟明視等人,說:“我不聽從百里奚和蹇叔的話,使你們三位遭受恥辱,你們有什麼錯?你們要專心謀劃報仇雪恥,不可懈怠!”恢復了三人的官職,對他們更加信任了。三十四年(前626年),秦穆公又派孟明視等帶兵東向,與晉軍戰於彭衙(今陝西白水東北),秦軍再次失敗。秦穆公仍舊沒有辦他們的罪,但這次孟明視像變了個人似的。他變賣了家產,撫卹陣亡將士的家屬,然後與士兵們同吃同住,同甘共苦,認真總結吃敗仗的教訓,從難從嚴地訓練部隊。這年冬天,晉國聯合宋、陳、鄭三國,出兵進犯秦國的邊界。孟明視嚴令:只許防守,不準出戰,結果讓晉軍奪去兩座城。國人對孟明視議論紛紛,說他輸怕了,稱他為常敗將軍,要求國君換將,秦穆公則不以一時成敗論英雄,他對孟明視深信不疑。崤山之戰的第三年夏天,孟明視認為部隊訓練好了,有了克敵制勝的把握,便請求秦穆公親自掛帥出征,秦穆公徵發兵車500輛,又撥出一批錢糧,將出徵將士的家裡生活安排好,使他們沒有後顧之憂。秦軍以一往無前的精神,一舉奪回上次戰鬥中丟失的兩座城,接著又攻下了晉國邊境的幾座大城。秦穆公率領大軍進崤山,掩埋了三年前在這裡陣亡將士的屍骨,秦穆公親自主持祭奠儀式,然後,凱旋迴國。
但是,晉仍然是阻礙秦東進的一道堅實屏障,只能向西發展。當時,在今陝甘寧一帶,生活著許多戎狄的部落和小國,如隴山以西有昆戎、綿諸、翟,涇北有義渠、烏氏、朐衍之戎,洛