Most versions of biryani, popular in Pakistani and Indian cultures, involve aromatic rice layered with marinated meats or vegetables. Here, we add tender roasted cauliflower florets.
Step 1
Heat oven to 325°F. Place rice in medium bowl and rinse under cold water until it runs clear. Cover rice with 2 inches water and let soak 20 minutes. Drain.
Step 2
In large ovenproof pot, bring 10 cups water, bay leaves, and 1 tablespoon salt to a boil. Add rice and cook, stirring occasionally, until nearly tender (still has slight bite), 5 to 8 minutes. Drain and gently rinse with cold water; reserve pot for step 5. Spread rice on rimmed baking sheet and set aside until ready to use.
Step 3
Heat 1 tablespoon ghee in large skillet on medium-high. Add almonds and cook, stirring constantly, until golden and toasted, 2 to 4 minutes. Using slotted spoon, transfer almonds to medium bowl. To same skillet, add 2 tablespoons ghee, onions, and 1/2 teaspoon salt and cook, stirring often and lowering heat if browning too quickly, until dark brown and almost crispy, 14 to 17 minutes. Transfer one-third of onions to bowl with almonds and set aside.
Step 4
Reduce heat to medium-low on remaining onions. Add remaining tablespoon ghee along with garlic, ginger, cumin, coriander, turmeric, cardamom, cinnamon, and cayenne and cook, stirring constantly, until fragrant, 1 to 2 minutes. Add tomatoes and 1/2 cup water and cook, stirring and scraping bottom of pan. Stir in cauliflower, apricots, and 3/4 teaspoon salt and bring to a simmer. Reduce heat and gently simmer, covered, until cauliflower is just nearly tender, 7 to 9 minutes. Remove from heat and stir in three-quarters of cilantro.
Step 5
Brush bottom and sides of reserved large pot with ghee. Add half of rice and spread in even layer. Top with all of cauliflower mixture, then remaining rice. Scatter with almond mixture and remaining cilantro. Cover tightly with foil and bake until rice and vegetables are tender and warm, 18 to 20 minutes. Remove and discard bay leaves before serving.