01 - Heat vegetable oil in a large, heavy-bottomed pot over medium heat. Add cinnamon stick, cloves, cardamom pods, and bay leaf. Fry for 30 seconds until aromatic.
02 - Add finely chopped onions and sauté until golden brown, approximately 8 minutes.
03 - Incorporate minced garlic, grated ginger, and sliced green chilies. Sauté for an additional 2 minutes to release flavors.
04 - Add chopped tomatoes and cook until softened and breaking down, about 5 minutes.
05 - Sprinkle curry powder, cumin, coriander, chili powder, turmeric, and black pepper over the mixture. Stir thoroughly and cook for 2 minutes to toast spices.
06 - Add beef cubes, stirring to coat evenly with spices. Cook for 5 minutes until lightly browned.
07 - Pour in beef stock, bring to a simmer. Cover and cook on low heat for 1 hour, stirring occasionally.
08 - Stir in coconut milk and season with salt. Simmer uncovered for 30 minutes until beef is tender and sauce thickened.
09 - Discard cinnamon stick, cloves, cardamom pods, and bay leaf from the pot.
10 - Sprinkle fresh cilantro over the curry and serve hot with rice or naan bread.