Wash and drain rice. Heat 1/2 cup oil in a wok and fry shallots and garlic until golden and crispy. Remove with a slotted ladle. Leave aside.
Heat ghee or margarine in a clean wok. Put in onion, star anise, cloves, cinnamon and cardamoms. Fry until fragrant. Add ginger and stir-fry for another minute. Add rice and toss well to mix for 23 minutes then transfer the rice mixture to an electric rice cooker.
Add tomato soup, tomato puree and water. Allow rice to cook. Loosen rice grains and stir in milk, yoghurt, rose water and salt. Cook for another 56 minutes.
Serve tomato rice, sprinkled with shallot and garlic crisps.