01 - Warm the vegetable oil in a large, heavy-bottomed pot over medium heat.
02 - Add the finely chopped onions and cook, stirring occasionally, until golden brown, about 8 minutes.
03 - Incorporate the minced garlic and grated ginger, cooking for 1 minute until aromatic.
04 - Add the beef cubes and brown evenly on all sides, approximately 5 minutes.
05 - Stir in chopped tomatoes, ground coriander, ground cumin, turmeric, chili powder, salt, and black pepper; cook while stirring for 4 to 5 minutes until tomatoes soften.
06 - Pour in the coconut milk and beef broth, stirring to combine and deglazing the pot by scraping up browned bits.
07 - Bring the mixture to a gentle simmer, cover, and cook on low heat for 1 hour and 30 minutes until the beef is tender and the sauce thickens, stirring occasionally.
08 - Uncover the pot, stir in garam masala, and simmer uncovered for an additional 5 minutes. Adjust seasoning to taste.
09 - Garnish with chopped fresh cilantro and sliced green chili if desired. Serve hot accompanied by steamed rice or naan.