Inglês, capelão do rei Canuto (994-1035) – dinamarquês que conquistara o trono da Inglaterra –, o santo fez com ele uma viagem à Dinamarca, de onde o rei queria trazer muitos missionários para o que conquistara. Entretanto Guilherme, impressionado com o lastimável estado de abandono em que estavam os pagãos locais, decidiu permanecer na Dinamarca para evangelizá-los. Foi então eleito bispo de Roskilde, na Zeelândia, em 1044.
Numa véspera do Ano Novo, alguns nobres, tendo se embebedado, fizeram severas críticas ao rei Sweyn Estridsen. Quando lhes passou a bebedeira, eles não se deram conta de que, naqueles tempos ainda bárbaros, o que tinham feito teria sérias conseqüências. E foram tranquilamente assistir as matinas numa igreja próxima.
Tendo o rei sido informado do que se passara na taberna, enfureceu-se, e mandou seus guardas buscarem os nobres no templo, e assassina-los sem piedade.
Na manhã seguinte Sweyn foi à mesma igreja para assistir missa. Lá, entretanto, estava São Guilherme que, vestido com todos seus paramentos episcopais, lhe vedou a entrada no templo sagrado, dizendo-lhe: “Afastai-vos, assassino!”.
Os cortesãos que acompanhavam o monarca imediatamente tiraram suas espadas para atingir o bispo. Mas este os enfrentou declarando que estava pronto a morrer em defesa da Igreja. Contudo o rei, muito envergonhado pela justa repreensão, se retirou do templo. Mais tarde voltou descalço e despido das vestes reais, para expressar sua profunda contrição. Foi então recebido paternalmente por São Guilherme. O rei fez então pública penitência por seu pecado, doando algumas terras à Igreja para ser de novo reconciliado com ela. O que mostra que a atitude enérgica e corajosa do Prelado teve um benéfico efeito no rei arrependido, foi que, pelo resto de suas vidas, São Guilherme e o rei permaneceram bons amigos, e juntos trabalharam para promover a causa católica, e a união política e religiosa do país. São Guilherme faleceu quando participava do funeral do rei, sendo canonizado no dia 21 de janeiro de 1224 pelo papa Honório III.