晉文公、晉襄公之後,晉國王權衰落,國政被一些卿大夫把持。到春秋晚期,晉國政權被趙、魏、韓、范、智、中行氏六家卿大夫控制著,史稱「六卿」。後來,范氏、中行氏兩家被滅,到晉出公時,晉國只剩智伯瑤、趙襄子、韓康子、魏桓子四家大夫把政,四家中以智氏最強。
晉出公不甘心當傀儡,秘密地向齊魯兩國借兵,試圖除掉四卿。沒想到齊、魯兩國不但沒借兵,還把這消息告訴了智伯瑤。於是智伯瑤聯合另外三卿出兵攻打晉出公,晉出公被迫逃跑,後病死在路上。晉出公死後,在智伯瑤的建議下,宗室姬驕被立為國君,史稱晉哀公。
智伯瑤與晉哀公的父親有私交,他利用這層關係,影響和操縱哀公,從而控制了晉國的大局。智伯瑤大權獨攬,變得越來越驕橫跋扈,野心也膨脹起來,不甘於和其他三家分權的現狀,想要獨吞晉國,一支獨大。他的謀臣給他出主意,讓他假借晉哀公的名義,向其他三家征地,就說是為與日益強大的越國爭奪霸權用的。這樣如果他們同意割地,就達到了蠶食他們的目的,如果他們不同意,也可以名正言順地發兵攻打他們。智伯瑤覺得這個辦法很好,馬上依計而行。
韓、趙、魏三家得到征地的通知,知道智伯瑤不懷好意。韓康子本想斷然拒絕,但他的家臣段規說,智伯瑤這個人陰險狡詐,剛愎自用,索要不成肯定會發兵攻打,再者,他貪心不足,除了跟韓家,肯定也跟其他家伸手了。不妨等別人拒絕他出兵攻打時,坐收漁利。韓康子覺得這辦法可行,便決定先受點損失,伺機而動,因此派使者給智伯送萬家之邑。
智伯見韓康子這麼容易就交出了土地,滿心喜悅,就等著魏氏也把土地送來。魏桓子當然也不願意把土地分給智伯瑤。他的謀臣任章跟他分析說,智伯瑤輕易得到土地,一定會更加地驕傲狂妄,不可一世,那時必然輕敵,而失去土地的各家聯合起來,對付一個驕傲輕狂的敵人,結果不言自明,因此他建議魏桓子先不要愛惜土地,等形勢扭轉,智氏失勢時再說。於是魏桓子也給智伯瑤送了萬家之邑。
智伯不費吹灰之力就得到兩個萬家之邑,非常得意,跟趙襄子索要蔡、皋狼之地。趙襄子早就與智伯瑤結怨。當年,智氏率軍伐鄭,趙襄子還是趙氏世子,進入都城時,趙襄子曾受到智伯瑤的侮辱,趙襄子對他早就怨恨不已。後來,智伯瑤還曾干預趙家家政,企圖動搖趙襄子世子之位,趙襄子對他更加憤恨。這次智伯瑤索地,襄子斷然拒絕。智伯瑤當即聯合韓、魏兩家,想以三家的軍士一舉消滅趙氏。
趙襄子見形勢於己不利,召集眾人商議退守,以避敵鋒芒,最後選定退守晉陽。趙氏為防備不測,對晉陽經營多年。當初范氏和中行氏支持邯鄲叛亂,趙簡子就曾退保晉陽。趙簡子曾特別囑咐襄子,如果晉國有難,可以退到晉陽。趙襄子繼位後,對晉陽地區的百姓減少賦稅,讓百姓們得到了好處,贏得了民心。對趙氏來說,這是最為可靠的堡壘。
趙襄子撤退到晉陽後,發現這裡城池非常堅固,儲備非常充足,但是他們倉促退兵,沒有帶夠充足的禦敵兵器。謀士張孟談告訴他說,當年晉陽就是為戰備而修的,因此修築宮室選用的材料都是可以用來製造武器的。於是,他們將宮室裡的銅柱鋸下,製造箭鏃和劍戟,用宮室牆垣的材料造箭桿,從而製造了充足的兵器。這下只等與那三家聯軍開戰了。
公元前454年,智伯瑤率領韓、魏二家攻打晉陽,鏖戰三個月都沒能攻下,此後圍困了一年多,還是未能攻克。眼看著戰事拖延,智伯瑤不禁焦急萬分。一天,他在城外察看地形,看到晉陽城東北的晉水繞過晉陽城往下流去,突然,他萌生了一個主意:如果改變晉水的水路,把它引到西南邊來,不就可以水淹晉陽城了嗎?有了主意他趕緊下令兵士們動工,在晉水旁邊挖開一條河道,直通晉陽,並在上游築起水壩攔水。
不久,雨季來臨,上游又有堤壩攔截,晉水被蓄積起來,水位猛漲。智伯瑤見時機已到,下令開壩放水。大水洶湧咆哮著灌向了晉陽城,城裡馬上變成一片汪洋。老百姓的房子被水沖垮倒塌,生火做飯的灶膛裡青蛙跳進跳出,百姓們只好吊起鍋子來做飯,後來城中糧食耗盡,竟到了易子而食的地步。儘管如此,百姓們依然支持趙襄子堅守,不肯投降。
智伯瑤覺得攻破晉陽指日可待,得意地帶著魏桓子、韓康子查看水情。智伯瑤對自己的這個計策非常得意,忘乎所以地說:「現在我才知道,水也可以滅亡一個國家。」這話讓魏、韓二人心裡一驚,馬上聯想到自己的城池:安邑是魏家的城池,周圍有汾水環繞;平陽是韓家的封地,被絳水環繞著。智伯瑤可以用晉水灌晉陽,也可以讓汾水灌安邑,絳水灌平陽。兩人想到今天的晉陽,很有可能明天就是安邑、平陽,魏桓子的胳膊肘暗地裡輕輕地碰了碰韓康子,康子踩了一下桓子的足背回應,二人心照不宣,已經有意反戈一擊了。
智伯瑤正高興地想著馬上就可以攻破晉陽城了,根本沒有留意韓、魏兩人的輕微舉動。但是,他的臣屬卻疵注意到韓、魏二君面露憂慮之色,他分析說當初三家約好,攻滅趙氏後平分其土地,現在晉陽將破,二人卻一點都不高興,肯定是顧慮到自己的利益。有了顧慮他們一定會反叛。智伯瑤不相信卻疵的說法,甚至把他的話告訴了魏桓子和韓康子。韓、魏二君當然不會承認,智伯就相信了他們。卻疵為了避禍,請智伯瑤把他派到齊國出使。
晉陽城形勢越來越嚴峻,趙襄子擔心即便是百姓支持,也要守不住了。危難時刻,他與張孟談謀劃,派張孟談去策反韓、魏二君。張孟談潛出城外,見到正在猶豫的二君。三人一拍即合,約定裡應外合,一起消滅智氏,然後平分智氏的封地。
趙襄子已經與韓、魏兩家達成共識,智伯瑤滿心以為很快就要攻破晉陽城了,對此一無所知,仍高枕安眠。第二天夜裡,趙襄子派軍卒悄悄殺死智伯瑤守堤的士兵,掘開水壩的西側,晉水反衝向了智伯瑤的軍營。軍營裡當即亂作一團,熟睡中的智伯瑤被混亂聲吵醒,這才發現兵營裡全是水。他不知是怎麼回事,一陣驚慌,這時,四面八方響起喊殺聲。趙軍從城中殺出,韓、魏二家從兩邊夾擊,已經攻進了智伯瑤的軍營裡,智軍大敗,智伯瑤自己也被殺。
這次戰鬥結束後,智氏被滅族,趙、魏、韓三家瓜分了智氏的領地。
公元前403年,韓、趙、魏三家派使者去見周威烈王,要求把他們封為諸侯。
周天子早已名存實亡,知道就算不同意也沒用,反而自己尷尬,不如順從了他們,於是正式封韓、趙、魏三家為諸侯。「三家分晉」之後,中國歷史進入戰國時代。春秋五霸之一的晉國滅亡,韓、趙、魏,再加上秦、齊、楚、燕四個大國,形成了歷史上的「戰國七雄」。