首先,晉文公在一個名叫被廬的地方,檢閱軍隊。晉國原來隻有上、下二軍,這次閱軍的時候,擴充為上、中、下三軍。接著,晉文公同大臣們商議中軍元帥的人選。趙衰向晉文公推薦大夫郤縠〔xì-hú細胡〕。晉文公采納了趙衰的意見,任命郤縠為中軍主將。任命郤縠的族人郤溱〔zhēn針〕為中軍副將。同時,晉文公又任命狐毛,狐偃,欒〔luán巒〕枝、先軫等人,為上、下兩軍的正、副將領。軍隊擴充了,人選確定了,晉國的軍事力量加強了。

公元前632年春天,晉國出兵討伐曹國。曹國在衛國的東麵。晉國從西麵攻曹,要經過衛國。因此,晉文公先派人去向衛國借路。衛國不答應。這樣,晉軍就決定繞道渡河南下,攻打曹、衛兩國。正月,晉軍占領了衛國的五鹿(今河北濮陽南)。二月,晉中軍主將郤縠病死。下軍副將先軫因為攻下五鹿立了頭功,被升為中軍主將。晉文公另派胥臣為下軍副將。不久,晉軍又占領了斂盂(衛國地名,今河北濮陽東南),在那裏駐紮下來。

在晉國這次伐衛攻曹的前兩年(公元前634年),魯國曾經請楚國軍隊去攻打齊國,奪取了齊國的縠地(今山東東阿)。楚國派大夫申叔帶兵駐守在那裏,以威脅齊國。因為這個緣故,所以當晉軍在衛地斂盂駐紮下來的時候,齊孝公就跑到那裏去同晉文公結盟,打算得到晉國的幫助。晉、齊結盟,更加提高了晉國的聲威。衛成公聽到這個消息,就恐慌起來了。他也連忙請求同齊、晉結盟,但是受到晉文公的拒絕。後來,衛成公又去親近楚國,打算從楚國得到救兵,同晉軍拚個你死我活。但是衛人不願意同晉國打仗,他們把衛成公趕走了。

那時候,魯、衛都是楚的同盟國。為了討好楚國,魯國在衛人趕走衛成公以後,就派大夫公子買帶兵到衛國去駐防。同時,楚國也調動部分兵力,前去救衛,結果失敗了。魯國看到晉國這樣強大,連楚國都敵不過它,就害怕起來,殺了公子買來討好晉國。

晉軍攻下衛國不久,又包圍了曹國的國都。曹人猛烈抵抗,晉軍死傷很多。曹人把晉兵的屍體陳列在城上,打擊晉軍的士氣。這件事,使晉公文很傷腦筋。就在這緊急關頭,一些士兵向晉文公獻計說:“我們把軍隊駐紮到曹人的墓地上去(暗示要掘曹人祖先的墳墓),曹人一定很恐懼。我們就乘他們慌亂的時候去攻城。”晉文公采納了這個建議,叫兵士們立刻駐紮到墓地上去,並且揚言要挖掘曹人的墳墓。這一計策果然有效。城上的曹人看見這種情景,又紛亂,又害怕。為了使晉軍不挖掘墳墓,他們趕快把晉軍的屍體用棺木裝好,送出城去。晉軍抓住這個機會,加緊進攻。三月初八那天,晉軍攻入曹國國都,活捉了曹共公。

晉軍進入曹國都城以後,晉文公列舉罪狀,當眾責罵曹共公,說他不該不信任曹國的賢臣僖〔xī希〕負羈〔jī積〕,不該濫封官爵,像曹這樣的小國,竟讓三百名品德不好的人做大官,乘坐高車大馬。晉文公過去在國外流亡的時候,曾經到過曹國。曹共公對他很不禮貌,隻有僖負羈曾經暗地裏送飯菜招待過他。為了報答僖負羈的恩惠,並且表示自己對賢人的尊敬,晉文公命令晉軍不要進入僖負羈的住宅,保護他的家族的安全。不過,晉文公手下的人並不都理解他的這些作法。部將魏犫〔chóu仇〕和顛頡〔jié傑〕兩人聽到這個命令,就氣憤地說:“我們跟從主公到處流亡,吃盡千辛萬苦,主公從來沒有考慮到我們的功勞,卻偏偏要去報答僖負羈送飯這點小恩小惠。這有什麼可以報答的呢!”他們兩人就放火燒了僖負羈的住宅。僖負羈也被燒死了。為了嚴肅軍紀,晉文公殺了顛頡。至於魏犫,由於晉文公喜愛他作戰英勇,隻革掉了他的官職,沒有處死刑。晉文公在曹國的這些措施,得到了曹人的支持,提高了晉國的威信。