Wash the aged basmati rice under cold water until the water runs clear. Soak the rice in water for about 30 minutes, then drain.
In a large pot, heat your choice of cooking oil over medium heat. Add the cinnamon stick, cardamom pods, cloves, and star anise. Stir-fry the spices for about 1-2 minutes until fragrant.
Sprinkle in the turmeric powder and give it a quick stir. Toss in the minced onion, garlic, and curry leaves. Cook, stirring occasionally, until the onion turns translucent.
Add the grated fresh ginger, pandan leaves, raisins, and drained basmati rice. Stir gently to coat the rice with the aromatic spices and other ingredients.
Sprinkle in the palm sugar and salt. Pour in the water and coconut milk. Give everything a good stir.
Increase the heat to medium-high and bring the mixture to a boil. Once boiling, reduce the heat to low, cover the pot with a tight-fitting lid, and let it simmer for about 20-25 minutes. The rice should be just tender and the liquid absorbed.
Once the rice is cooked, remove the pot from heat but keep it covered. Let the rice rest for an additional 10 minutes before you fluff the nasi minyak with a fork to separate the grains. Remove the cinnamon stick, cardamom pods, cloves, star anise, and pandan leaves if desired.
Serve the nasi minyak hot, garnished with sliced bird’s eye chili, fried shallots, and cilantro leaves.