。光绪六年（1880年），王懿荣考中庚辰科二甲进士，同年五月，改翰林院庶吉士。光绪九年四月，散馆，授翰林院编修，曾数度上书建言。光绪十二年（1886年）因父丧丁忧去职。守丧结束，出典河南乡试。光绪二十年（1894年），大考一等，升侍读。次年入直南书房，署国子监祭酒。中日甲午战争开始后，日军佔据威海，登州大震。王懿荣请求归乡操练乡勇，马关和谈之后返回京师，补祭酒。两年后，又遭母丧，守制后复起故官。至此，王懿荣在几年间已三任祭酒，“诸生翕服”。光绪二十六年（1900年），庚子事变爆发，八国联军逼近燕