Heat the vegetable oil in a large pot over medium heat.
Add the finely chopped onion, minced garlic, and grated ginger. Sauté until the onion is golden brown.
Add the curry powder, ground turmeric, ground cumin, ground coriander, ground black pepper, ground cinnamon, ground cloves, and ground cardamom. Cook for 2-3 minutes until fragrant.
Add the mixed meat pieces and cook until browned on all sides.
Stir in the chopped tomato and coconut milk. Bring to a boil, then reduce heat and simmer for 30-40 minutes until the meat is tender and the sauce thickens.
Season with salt to taste.
In a bowl, combine the ground beef or pork, finely chopped onion, minced garlic, ground black pepper, ground cinnamon, ground cloves, ground cardamom, breadcrumbs, beaten egg, and salt. Mix well.
Shape the mixture into small meatballs.
Heat vegetable oil in a skillet over medium heat. Fry the meatballs until browned and cooked through. Drain on paper towels.
In a bowl, combine the grated coconut, finely chopped onion, finely chopped green chilies, lime juice, and salt. Mix well.
Rinse the basmati rice under cold water until the water runs clear.
In a large pot, heat the ghee or butter over medium heat.
Add the finely chopped onion, cinnamon stick, cardamom pods, cloves, and bay leaf. Sauté until the onion is translucent.
Add the rice and stir to coat the grains with the spiced butter.
Add the coconut milk, water, and salt. Bring to a boil, then reduce heat, cover, and simmer for 15-20 minutes until the rice is cooked and the liquid is absorbed.
Preheat the oven to 350°F (175°C).
Lay out the softened banana leaves on a clean surface.
Place a portion of rice in the center of each leaf.
Top the rice with a portion of meat curry, frikkadels, sambal, hard-boiled eggs, and fried eggplant slices (if using).
Fold the banana leaves over the filling to create a packet. Secure with kitchen twine if necessary.
Place the packets on a baking sheet and bake in the preheated oven for 20-30 minutes until heated through.
Enjoy your meal!