歸附北魏
孝莊帝永安三年(530年),河西的獨(dú)立者紇豆陵步蕃率部眾襲擊秀容,爾朱兆、爾朱仲遠(yuǎn)迅速率軍由洛陽趕到晉陽抵御。爾朱兆大敗,王士良為紇豆陵步蕃俘獲送往河西。爾朱兆聯(lián)合高歡挽回?cái)【,紇豆陵步蕃戰(zhàn)死,紇豆陵伊利做了河西統(tǒng)帥。他喜愛王士良的才氣,就提拔他做右丞,并把孫女嫁給他。王士良對紇豆陵伊利曉以利害,于是在孝武帝太昌元年(532年)歸附北魏。朝廷嘉獎(jiǎng)王士良,給他進(jìn)爵晉陽縣子,列正六品位,封邑四百戶。不久又進(jìn)爵為瑯玡縣侯,列正八品位,授于太中大夫、右將軍的稱號,派到殷州做車騎府司馬。
北魏分裂
孝武帝永熙二年(533年),高歡派竇泰襲破爾朱兆。爾朱兆自縊死,余部降高歡。高歡獨(dú)攬朝政,與孝武帝矛盾激化。孝武帝奔關(guān)中,高歡兵入洛田,擁立孝靜帝,改元天平(534年),北魏分裂為東、西魏。就這年,東魏在鄴都置京畿府專門掌管兵馬。王士良被任命為高澄大都督府的司馬、領(lǐng)外兵參軍。不久又提升為大都督府長史,加稱安西將軍,改封爵位為符壘縣侯,封邑增至七百戶。武定元年(543年),調(diào)任行臺右中兵郎中,不久轉(zhuǎn)任大將軍府屬,仍代理外兵事務(wù)。武定六年(548年),高澄命十萬兵圍西魏王思政鎮(zhèn)守的潁川,令王士良輔助其弟高演據(jù)守并州,授王士良大行臺右丞、加鎮(zhèn)西將軍,進(jìn)爵位為公,列九品位,封邑千戶。
鎮(zhèn)守晉陽
武定七年(549年),高澄在鄴都被廚師殺死。尚書令、中書監(jiān)、京畿大都督高洋重用高澄大將軍府督護(hù)唐邕,并攜他趕赴普陽接管了高澄的部屬。高澄部將原多在晉陽,大都輕視高洋,此時(shí)王士良掌有鎮(zhèn)守晉陽的兵權(quán),高洋隱瞞了高澄被殺的消息,利用唐邕行使高澄的權(quán)力,王士良不得已回鄴都,授于給事黃門侍郎,領(lǐng)中書舍人。雖有兼知并州兵馬事務(wù)之名,不過是有名無實(shí)。高洋為懲戒眾將,降王士良為新豐縣子,封邑三百戶。不久授他驃騎將軍的稱號,尚書吏部郎中的職位。武定八年(550年)五月,高洋廢孝靜帝自立,是謂北齊文宣帝。王土良先為北齊的尚書左丞,接著調(diào)任御史中丞,又轉(zhuǎn)任王兵二曹尚書,不久授侍中的稱號。又轉(zhuǎn)任殿中尚書,接著又復(fù)稱侍中,吏部尚書。王士良的官職頻頻調(diào)換,事實(shí)上是只給以官職,不給掌理政務(wù)之權(quán),為的是約束人心.?dāng)[擺樣子。就在他為官不得志之時(shí),其繼母梁氏死了,于是得以告官回鄉(xiāng),又以身體有病為由多年不出仕。后來高洋授于他滄州刺史之職。乾明元年(560年),廢帝高殷征召王士良回鄴都,授于他儀同三司的稱號,但為加官,不理政務(wù)。沒幾個(gè)月,高歡之子,高洋之弟高演自立為帝,為孝昭帝。孝昭帝殺尚書令楊愔等人,下詔追贈(zèng)被高洋天保年以來冷淡、貶逐的督將朝士。王士良重被起用,同尚書令高叡、太常卿崔昴分別派往郡內(nèi)搜訪人物。太寧元年(561年)高湛為武成帝,拜官授職王士良為太子太傅、少師,接著又拜為侍中,轉(zhuǎn)任太常卿,加開府儀同三司。后又調(diào)為豫州道行臺、豫州刺史。