Laver les cardons, retirer les feuilles, les tiges dures et les fils.Les couper en bâtonnets de 4 à 5 cm. Couper le citron et les arroser de jus afin que les cardons ne noircissent pas.
Délayer la farine dans un peu de bouillon et la mettre dans une casserole avec le reste de bouillon. Porter à ébullition. Plonger les cardons et faire cuire pendant au moins une heure. Vérifier la cuisson des cardons avec la pointe d'un couteau. Egoutter les cardons en gardant le bouillon.
Déposer les cardons dans un plat à gratin de taille moyenne. Verser la crème de soja avec quelques cuillères à soupe de bouillon. Saler et poivrer puis mélanger.
Découper finement la moitié du cantal et râper l'autre moitié. Déposer le cantal sur les cardons.
Enfourner dans un four préchauffé à 180°C pendant 15 minutes.