In a large heavy-bottomed pot, heat the vegetable oil over medium-high heat. Add the beef cubes and sear them until browned on all sides. Remove the beef from the pot and set it aside.
In the same pot, add the chopped onions. Sauté for about 5-7 minutes until they turn golden brown. Add the minced garlic, grated ginger, and sliced green chilies, cooking for an additional 2 minutes.
Stir in the ground cumin, ground coriander, ground turmeric, and garam masala, cooking for 1-2 minutes until fragrant.
Add the beef back into the pot along with the diced tomatoes, coconut milk, and beef broth. Stir well to combine all ingredients.
Bring the mixture to a boil, then reduce the heat to low. Cover and let it simmer for about 1.5 to 2 hours or until the beef is tender. Stir occasionally and add a bit more broth if needed.
Taste the curry and add salt as needed. If you want more heat, feel free to add more sliced green chilies at this stage.
Garnish with freshly chopped cilantro before serving. Serve the spicy Indian beef curry hot over cooked basmati rice or with warm naan.
Notes
Adjust the number of green chilies based on your spice preference.