In a large saucepan, melt butter or ghee over medium heat. Add half of the chopped onion and cook until golden and beginning to soften. Stir in the curry leaves, cardamom pods, cloves, cinnamon stick, and basmati rice. Continue to stir for 5 minutes, until toasted.
Pour in the stock and salt. Bring to a boil, then reduce heat to a gentle simmer, low heat. Cover and cook undisturbed until the liquid has been absorbed, about 30 minutes.
While the rice is cooking, fill a deep skillet with vegetable oil and place over medium heat. Once thoroughly heated, add the remaining chopped onion and fry until crisp and golden. Remove to a towel lined plate with a slotted spoon. Add the potatoes to the hot oil and fry until crisp and golden. Remove to towel lined plate.
Remove the spice pieces from the cooked rice and serve warm with fried onions, potatoes, roasted cashews, and sultanas.