Epluchez et hachez les gousses d'ail, nettoyez la coriandre et ciselez-la. Coupez le bâton de cannelle en morceaux. Coupez le filet de boeuf en morceaux.
Dans une grande terrine, mettez l'ail, les piments, le gingembre, le cumin, la cannelle, la cardamone, les clous de girofle, les yaourts, le vinaigre et mélangez bien. Faites-y mariner la viande pendant une heure.
Epluchez et émincez les oignons. Faites cuire le riz à l'eau salée. Dans une garnde cocotte, versez l'huile et faites frire les oignons. Faites égoutter le riz puis mélangez-le avec les oignons frits, la viande et la marinade et faites cuire le tout à feu doux pendant 30 min. Rectifiez l'assaisonnement et servez chaud.