Bangladeshi Plain Pulao

1 cup whole milk
⅓ cup ghee
1 small onion, thinly sliced
1 2" piece ginger, peeled, finely grated
1 1" piece cinnamon stick or ¼ tsp. ground cinnamon
3 garlic cloves, finely grated
2 Indian bay leaves or other bay leaves, preferably fresh
5 green cardamom pods
8 whole cloves
2 cups basmati rice, rinsed until water runs clear, drained
2 tsp. Diamond Crystal or 1¼ tsp. Morton kosher salt
¼ cup unsalted roasted cashews, coarsely chopped
Handful of golden raisins (for serving; optional)

Bring 1 cup whole milk and 1¾ cups water to a simmer in a medium saucepan over medium heat. Reduce heat to low; cover and keep warm.
Melt ⅓ cup ghee in a medium Dutch oven or other heavy pot over medium heat. Cook 1 small onion, thinly sliced, stirring often, until golden brown, 8–10 minutes. Using a slotted spoon, transfer to paper towels; let drain.
Combine one 2" piece ginger, peeled, finely grated, one 1" piece cinnamon stick (if using ground cinnamon, do not add here), 3 garlic cloves, finely grated, 2 Indian bay leaves or other bay leaves, preferably fresh, 5 green cardamom pods, and 8 whole cloves in same pot and cook over medium heat, stirring, until spices are fragrant, about 30 seconds. Add 2 cups basmati rice, rinsed until water runs clear, drained, and 2 tsp. Diamond Crystal or 1¼ tsp. Morton kosher salt (and ¼ tsp. ground cinnamon if using); stir to coat. Cook, stirring, until rice is slightly toasted at the edges and smells fragrant, 1–3 minutes. Pour in warm milk mixture, stir to combine, and bring to a boil. Reduce heat to low, cover, and cook until liquid is absorbed and rice is tender, 12–15 minutes. Remove from heat and let sit (still covered) 5 minutes.
Top with ¼ cup unsalted roasted cashews, coarsely chopped, and a handful of golden raisins (if using) just before serving.