Découper le veau en morceaux et le mettre dans un faitout. Ajouter le safran, l'huile, les oignons coupés en morceaux, sel et poivre.
Couvrir d'eau froide. Porter à ébullition et faire cuire à petits bouillons pendant 1 heure. Retirer les morceaux de veau et les réserver.
Nettoyer les cardons et les couper en tronçons de 3 cm Les faire cuire dans le bouillon additionné du jus de deux citrons pendant 20 min environ. Retirer les cardons et les réserver.
Faire réduire le bouillon jusqu'à obtention d'une sauce épaisse.
Dresser la viande et les cardons dans un tajine. Verser la sauce sur la viande et les légumes. Faire mijoter le tajine quelques instants sur feu doux et servir.