甘露二年(257年)五月司馬師率洛陽中軍十多萬主力抵達戰場,威脅項縣,目前文欽佔據的南頓,毋丘儉佔據項縣,二者互為犄角,南頓糧草充足。
司馬師大軍與王基、鄧艾軍匯合後休整部隊,構築防線,決定與淮南軍進行對峙,等待包圍圈收緊 。
而文欽、毋丘儉也兵合一處,南頓由丁宇和文虎死守城池,與王基形成對峙,毋丘儉與眾人商議,決定再度發起進攻,連續衝擊司馬師的防線,但司馬師佔據巨大兵力優勢,而且據而守,不與淮南軍正面決戰,淮南軍始終撕不開口子。連日進攻沒有取得絲毫進展,好在有南頓糧草供給,而壽春糧道也沒有受損。所以軍心才沒有動搖,保持積極的戰鬥 。
由於青州、豫州、徐州等地的兵馬被司馬師大量調去圍剿毋丘儉和文欽,這導致了豫州一部分地區兵力空虛。王廣等人趁機率領鎮南軍從安豐郡出發,一路上勢如破竹,迅速攻佔了弋陽郡、汝南郡、汝陰郡和陳郡等地。這些勝利使得整個豫州幾乎都落入了淮南軍手中,形勢一片大好。
王廣深知此時必須要鞏固勝利果實,於是他派遣寧磊、李權、諸葛靚等將領分別駐守三郡,以確保後方安全無虞。而他本人則親自率領精銳部隊,打算突襲潁川。潁川作為重要的戰略要地,對於戰局有著至關重要的影響。
此時的潁川正由司馬昭鎮守著。當司馬昭得知毋丘儉和文欽叛亂的訊息後,他立刻意識到局勢的嚴重性,並緊急調動軍隊前往支援潁川。但面對王廣的突然襲擊,司馬昭陷入了被動局面,不過在傅嘏及鍾會的協助下穩住了局勢,從而與王廣形成對峙。
整個戰局陷入了對峙中,雙方都在不斷試探,戰役從未停止。
而坐鎮壽春的桓楷、王明山在此期間,由王明山和曹智率軍三萬從壽春出發,進軍徐州,由於徐州軍大多被胡遵帶走,王明山的大軍一路收復廣陵,下邳,直逼彭城。彭城太守鍾毓據城而守,同時向司馬師請求援兵,於是王明山命曹智帶兵一萬去攻打東海,東海太守不戰而降,曹智留下三千兵馬讓曹陽鎮守,自己帶兵拿下琅琊。收到徐州大部分被拿下得軍報後,桓楷讓淮南太守丁尊和曹信留守淮南,自己領兵五萬支援王明山和曹智。
數日後司馬師收到鍾毓的求援時,桓楷與王明山合併共計八萬兵馬強攻彭城,大軍接連兩日攻擊不斷,鍾毓見敵軍勢大,留下彭城守將趙文,帶著親信逃跑。趙文見此開城投降,至此徐州被全部收復。同時共計十二萬兵馬對司馬師的兵馬對峙。
司馬師恐再生變故,召集司馬昭,鍾會,王基,鄧艾等人商議,最後決採用誘敵之計,司馬師讓鄧艾率樂嘉兩萬餘守軍出城誘敵,司馬師自統大軍抵達樂嘉附近,隱藏起來,想要趁機偷襲,從而重傷淮南軍,而王廣秘密率軍與毋丘儉匯合,商議後決定將計就計,由文欽、文鴦率淮南軍精銳兵分兩路,進攻鄧艾 ,同時讓王廣伺機支援。
是夜,文鴦部隊先行抵達樂嘉城郊,並且與司馬師主力部隊碰上,文鴦直接發動進攻,衝擊司馬師軍營,而司馬師由於病情突然急劇惡化,眼睛掉了出來,不得不將指揮權交於其弟司馬昭。
司馬昭命令軍隊反擊。文鴦所部勢單力薄,很快陷入被動,此時文欽部也被王基拖住,無法支援文鴦,文鴦見文欽遲遲無法支援,又無法擊潰敵軍,只能率部撤退。
鄧艾、樂綝、司馬璉等則率軍追擊,在天明時分,撞上剛匯合不久,來不及撤走的文欽父子,就在司馬師的軍隊多方匯合,淮南軍主力被重重包圍之時,只見王廣率領著大軍突然殺出,以雷霆萬鈞之勢直接衝破了司馬軍的重重包圍。
文鴦見此情景,鬥志愈發昂揚,他揮舞著手中的兵器,每一擊都充滿力量,殺得司馬師的軍隊連連後退。
與此同時,文鴦,文欽與王廣成功會師後士氣高昂,士兵們更是悍不畏死,奮勇殺敵。
在這場激戰中,司馬師的軍隊形成的包圍被逐漸擊穿,他們的防線開始瓦解。司馬師的軍隊在王廣及文鴦父子的猛攻下傷亡慘重,終於無法承受如此巨大的壓力,徹底崩潰。此時,鄧艾等人意識到局勢已經失控,立刻下令撤軍,以免遭受更大的損失。
戰場上瀰漫著濃烈的血腥氣息,喊殺聲漸漸遠去,留下滿地的屍體和血跡。王廣,文鴦帶兵追擊,文欽則負收攏降兵。王廣等人追擊到司馬師大營附近停下,此次追擊中擊殺司馬鏈,而樂綝負責斷後,被文鴦活捉。只有鄧艾帶著幾千兵馬逃回大營。
司馬師軍中由於主帥司馬師的病情惡化,不得已留下王基斷