Add the chopped tomatoes, biryani masala powder, red chili powder, turmeric powder, and salt. Cook until the tomatoes turn soft and the oil starts to separate.
If using meat, add it now and cook until it's browned on all sides. If using vegetables, you can skip this step.
Stir in the yogurt and marinate the meat or vegetables for about 30 minutes.
In a separate large pot, bring water to a boil and add the soaked rice. Cook until the rice is 70% cooked. Drain and set aside.
Layer the marinated meat or vegetables with the partially cooked rice in the pot. Sprinkle saffron milk over the rice.
Cover the pot with a tight-fitting lid and place it over low heat. Cook for about 20-25 minutes, allowing the flavors to meld and the rice to finish cooking.
Once done, remove the pot from heat and let it rest for 10-15 minutes before gently fluffing the biryani with a fork.
Serve the biryani hot with raita, salan, or your favorite side dish.