Chauffer le lait, l'eau, 50 g de sucre et le beurre dans une casserole, jusqu'à ce que le beurre soit fondu.
Verser la semoule et cuire à feu doux, en remuant sans cesse au fouet, jusqu'à épaississement. Laisser tiédir.
Fouetter à part les œufs avec 200 g de sucre jusqu'à un mélange gonflé et clair.
Incorporer la ricotta tamisée, la crème de semoule tiède et les zestes de citron et d'orange.
Verser dans un moule de 20 cm beurré et fariné.
Enfourner 50 à 55 min à 180°C (four préchauffé).
Laisser refroidir dans le four porte entrouverte, puis démouler le lendemain avant de servir et déguster !