卫瓘世居安邑,他的父亲曾是魏朝时期的尚书大人,中年的时候就去世了。卫瓘因为父亲的庇佑,二十岁时就当了尚书郎,后来辅佐晋武帝立下功劳,受封为菑阳公。卫瓘的四子卫宣娶了武帝的女儿繁昌公主为妻,卫瓘位列皇亲国戚,很受武帝宠信。卫瓘对武帝忠心耿耿,想劝谏武帝废除当今太子。入见武帝时却欲言又止,始终不敢直抒胸臆。趁武帝在凌云台宴请百官,卫瓘假装喝醉,起身到御座前下跪道:“臣有言上陈,不知陛下愿不愿听?”武帝让他但说无妨。卫瓘欲言又止,如此三次之后,才用手抚摩着座位道:“此座可惜啊。”武帝明白了他的意思,说道:“你真的醉了吧?”卫瓘叩头退出。武帝回宫后想了一个办法,将太子的所有官属全部召入殿中侍宴,暗地里让内侍把尚书那里的疑案交给太子,让太子裁判回答。太子司马衷生性愚笨,突然接到来文,完全不知道该怎么判决,召问官属,急切间却一个人也找不到,只好询问太子妃贾南风。贾南风略通文墨,但才疏学浅,于是派遣婢女去问其他大臣。
后来有个人代写了草文,这草文引古据今,旁征博引,很是出众。婢女将草文交给贾妃,贾妃担心慌乱之中会有错误,于是召入张泓,让他看看是否可行。张泓摇头回答道:“太子不学无术,圣上早已清楚,这篇草文引古据今,一看就知道是他人所写。一旦事情败露,不但写此草文的官员要被贬官,就连太子之位也不能保全了。”贾妃大惊:“那该怎么办?”张泓回答道:“不如直接陈述观点。”贾妃转惊为喜,对张泓说:“那就劳烦你为太子答复了,他日当与你共享富贵。”于是,张泓边陈述观点,太子边下笔记录。太子写完,张泓检查后交给内使。武帝看了太子的答文,发现语句虽然粗俗,观点却很清晰,不由得放下心来。于是召卫瓘进殿,将太子的答文拿给他看。卫瓘看了几行便向武帝谢罪,众臣这才知道卫瓘诋毁过太子,于是异口同声称武帝圣明。卫瓘羞愧满面,武帝反而一再安慰他。当时贾充还在人世,听到这件事,派人对贾妃说:“卫瓘这个老贼差点儿就毁了你的家。”自此,贾妃很是痛恨卫瓘,无奈武帝对卫瓘宠爱有加,贾妃不得不容忍过去。
卫瓘担任司空时,不论什么国家大事武帝都会与他商议,而卫瓘也时常献上良计,武帝很是受益。卫瓘曾经上书,请求辞官,武帝没有答应。
朝廷元老一个个地去世,只剩下一个卫瓘,既被贾妃忌恨又被杨氏排挤。卫宣曾娶武帝女儿为妻,但他喜欢拈花惹草,夫妻之间很不和睦。杨骏等人趁机设计,认为只要卫宣和公主离婚,卫瓘必定辞官。于是嘱咐黄门侍郎弹劾卫瓘父子,说他们背地里嘲讽武帝强迫卫宣娶公主。卫瓘既惭愧又恐惧,请求辞官。武帝准奏,罢免了他的爵位,并命繁昌公主回宫居住。后来,武帝知道卫宣被人诬陷,准备让公主返回卫家,可是那时卫宣已经病逝了。
杨骏扳倒卫瓘后,开始对付汝南王司马亮。武帝重用司马亮,封他为大司马,让他镇守许昌。与此同时,武帝封皇孙司马遹为广陵王。司马遹是太子的大儿子,是女官谢玖所生。谢玖原本是武帝宫中的才人,秀外慧中,很受武帝的宠爱,武帝将她赐给太子。一年以后,她便生下一个儿子,取名为遹。司马遹五岁时就聪慧过人。一天晚上,司马遹在武帝身边侍候,宫外忽然失火,左右惶恐不已。武帝想登上城楼看看,司马遹牵住武帝的衣袖,不让武帝上楼。武帝问为什么,司马遹答道:“外面又黑又乱,不能让火苗照见陛下。”武帝不禁点头认可。
众人都夸司马遹是个奇儿,并说司马遹长得很像宣帝司马懿,将来必能继承大统。所以尽管太子很平庸,但武帝心想司马遹如此聪慧,将来应该没什么好担心的,就不想废掉太子。贾南风非常忌恨司马遹。太子的妾室一有身孕,贾南风就用戟向孕妇投掷,还责怪宫女防备约束不严。武帝听说后,下令将贾南风打入冷宫。赵粲和杨皇后都替她求情,再加上杨珧进言说:“贾充有功于社稷,朝廷不应该忘记他的功劳,还是不要废除他的女儿。”武帝才将此事搁置。
转眼间已是太康十一年(290年),武帝改元太熙。武帝升王浑为司徒,起用卫瓘为太保,任命光禄大夫石鉴为司空。尽管三人同心协力地治理朝政,却始终斗不过三杨。武帝晚年贪色成病,经常不理朝政,诏令都出自杨骏之手,其他王公大臣完全无法参与。杨骏擅自废立公卿,私立心腹。武帝连日昏昏沉沉,不省人事。杨皇后口宣皇帝的旨意,让华廙与何劭写下遗诏,任命杨骏为太尉,兼任太子太傅,统领各军,管理尚书政事。等他们拟定好了诏书,杨皇后带着他们来到武帝病榻前,将草诏呈武帝阅览。只见武帝睁大两眼,看了许久才扔下,不说一句话。武帝在弥留之际问身边的人:“汝南王司马亮来了没有?”他们回答:“没来。”武帝长叹一声,闭目长逝。武帝在位二十五年,享年五十五岁。