东汉末年,天下大乱,王祥扶持着朱氏带着弟弟王览到庐江避乱,隐居二十多年,不受州郡的征召。
朱氏去世时,王祥由于过分悲痛而致病,要扶住拐杖才能起身。
魏文帝在位时,泰山太守吕虔升任徐州刺史,吕虔就任后不久,便召王祥任州别驾,他坚决辞让不到任,经王览劝说,并为他准备了牛车,王祥这才应召。
王祥到任后,吕虔就把州政都委托给他,当时盗寇四处横行,王祥率领并鼓励士兵,讨伐盗寇,将其一一击破,州内因而清静无事,政令教化也推行无阻。
当时百姓编歌唱道,海沂之康,实赖王祥,邦国不空,别驾之功。
之后被举为秀才,任温县令,经多次升迁后,任大司农。
正元元年,高贵乡公曹髦即位,王祥因参与定策有功,被封为关内侯,又拜光禄勋,转任司隶校尉。
正元二年,王祥因随司马昭讨伐毌丘俭,而增加食邑四百户。
甘露元年,朝廷任命尚书仆射卢毓为司空,卢毓辞让给骠骑将军王昶、光禄大夫王观与王祥。
此后,王祥迁任太常,封爵万岁亭侯,曹髦到太学巡查时,任命王祥为三老。
王祥以师长的身份面向南坐,凭着几案,扶着手杖,曹髦面向北坐,向王祥询问治国之道。
王祥陈述明王圣帝君臣施政化民的要领,来训导曹髦,在座旁听的人也都受到激励。
甘露五年,曹髦不满司马氏掌握大权而率僮仆数百人讨伐司马昭,遭成济杀害,朝臣为之哀悼。
王祥大声号哭说,这是老臣的罪过啊,涕泗横流众人都感到惭愧,不久便迁任司空。
咸熙元年三月,王祥升任太尉,加职侍,同年朝廷实行五等爵制,封王祥为睢陵侯,食邑一千六百户。
泰始元年十一月,晋武帝司马炎受禅,建立西晋,拜王祥为太保,进封睢陵公,府中允许设置七官。
司马炎刚刚即位,虚心征求直言,王祥与何曾、郑冲等有德望的老臣,希望再朝见,武帝派侍中任恺向四人询问朝政得失及急需解决的施政教化问题。
王祥因为年老疲倦,多次请求逊位,司马炎不许,御史中丞侯史光认为王祥久病,不能按时朝会尽臣礼,请求免去他的职务。
司马炎下诏说,太保德行高尚,是朕赖以兴隆政教的元老,言下之意相当明显。
王祥坚决要求辞官回故里,武帝才下诏同意以睢陵公的身份逊位,地位和太保、