Whisk flour, sugar, baking powder, baking soda, salt, and cardamom in a bowl.
In another bowl whisk yogurt, oil or butter, vanilla, and eggs or eggless substitute until smooth.
Fold dry ingredients into wet just until combined. Do not overmix.
Pour batter into the pan and bake until the center springs back and a skewer comes out clean, about 30 to 35 minutes.
Cool the sponge completely before soaking.
Make the rose milk soak
Warm evaporated milk, condensed milk, and cream in a saucepan over low heat.
Stir in rose syrup, saffron, and rose water if using. Taste and adjust sweetness.
Keep warm, not boiling.
Soak and chill
Poke holes all over the cooled sponge with a skewer.
Pour the soak in stages, allowing each pour to absorb before adding more.
Cover and chill at least 6 hours, ideally overnight.
Finish and serve
Whip cream with icing sugar to soft-medium peaks.
Spread whipped cream over the chilled cake.
Garnish with basil seeds, pistachios, vermicelli, and rose petals.
Slice and serve cold.
Notes
For an eggless version, use 1/4 cup thick yogurt per egg and keep total baking soda at 1/4 teaspoon.Pour the soak slowly; fast pouring can create a soggy base.Add basil seeds and vermicelli just before serving for best texture.Store covered in the refrigerator for up to 3 days.