入夜時分,從周陽趕來的援軍終於到達曲沃城以東。疲敝不堪的軍隊沒有進城,而是鑽進營地後側的山林裏,指揮官和士兵們同樣吃了隨身攜帶的幹糧後,就在原地抱著武器睡覺。
曲沃城外一片燈火通明,到處都是喧囂之聲,雙方都在盡快建設自己的營地。晉軍把那條壕溝加寬加長,南端延伸到山腳,北端則延伸到曲沃城下,這樣就把敵軍的退路切斷了。
第二天黎明時分,敵人望見那道寬而深的塹壕,終於感到了恐慌。他們發現晉人的意圖並非自保,而是要把他們全都消滅在曲沃城下。事實上,經過兩場戰鬥,決戰還沒有開始,敵軍就已經損失了差不多一成兵力。
敵軍將領迅速湊在一起研究對策,人們決定分兩路進攻(逃跑):一路從曲沃城南的山林裏繞過塹壕,進攻被占大營的後方;第二路北渡涑水,沿河向上遊行進,然後攻占周陽,再從那裏南渡涑水。
作戰計劃確定之後,敵人首先向塹壕正麵及曲沃的南門和西門發動佯攻,塹壕北端的敵人便趁亂潛入山林,西門附近的敵人則開始北渡涑水了。
潛入山林的敵人“順利”地繞到敵營後方發起進攻,他們計劃首先搶占營地,然後把塹壕對麵的同伴放過來。守營的晉軍顯示出很匆忙吃力的樣子,如此更激發出敵人的戰鬥情緒,於是大量的敵人又鑽山林過來了。但是正當他們越聚越多時,隱藏在更深處的援軍突然出現了,援軍截斷敵人的通路,與營內的晉軍裏外夾攻,很快就將敵人消滅了。
晉軍隨後衝出樹林猛擊敵人的右翼,此時敵軍因為兵力分散,右翼馬上就被突破了。敵人開始無序地逃跑,有些鑽進山裏,但大部分則被迫撤回軍營,晉軍最後把進攻塹壕的敵人包圍在營地裏。
進攻城門的敵人見勢不妙也開始逃跑,晉軍就從城門裏衝出來猛衝猛打。敵人在涑水南岸構築防線以掩護軍隊渡河。晉軍並不強攻敵人的工事(因為晉軍的主力並不在此,兵力不足),卻繞到邊上射擊那些正在泅水的敵軍,敵人在遭受了很大傷亡後終於逃到對岸去了。
退入營中被圍困的敵人稍作抵抗便交出武器投降了。
沿涑水北岸撤退的敵人發現情況並不像他們想象的那麼樂觀,因為狐偃率領的晉戎騎兵一直在南岸與他們齊頭並進,並不時地做出一些挑釁性的動作。敵人在快到達周陽時發現道路又被一道塹壕截斷了,塹壕對麵則是晉軍的要塞。逃跑者無奈之下隻得爬山而遁。
晉國在本次戰事中取得了巨大的勝利,皋落氏和驪戎的大量重要人物和士兵被俘,兩股勢力迫於現狀,各自派使者前來求和。
皋落氏的使者叫罕如,驪戎使者叫啟強,兩人都是公子級的人物。兩人一見麵就互相指責,都稱自己是被對方拉下水的,企圖借此把戰爭罪責推給對方;晉人被兩人搞得頭暈腦脹,隻得將兩人隔離開來,分別與每一方進行談判。