01 - Heat vegetable oil in a large, heavy-bottomed pot over medium heat. Add onions and sauté until golden brown, approximately 8 minutes.
02 - Stir in minced garlic and grated ginger. Sauté for 1 minute until fragrant.
03 - Add beef cubes to the pot. Brown on all sides, cooking for about 5 minutes.
04 - Sprinkle in curry powder, cumin, coriander, paprika, turmeric, cayenne, salt, and black pepper. Stir constantly to coat the beef evenly with the spices.
05 - Add diced tomatoes, beef broth, and green chilies. Stir well to combine and bring the mixture to a simmer.
06 - Reduce heat to low, cover, and simmer for 1 hour and 15 minutes. Stir occasionally to prevent sticking, cooking until beef is tender.
07 - Stir in yogurt and lemon juice. Simmer uncovered for an additional 10 minutes to allow the sauce to thicken. Adjust seasoning if necessary.
08 - Rinse basmati rice under cold water until the water runs clear.
09 - Bring 3 cups of water to a boil in a saucepan. Add rinsed rice, salt, and butter or oil. Stir once, cover, and reduce heat to low. Cook for 15 minutes, then remove from heat and let stand covered for 5 minutes.
10 - Fluff the rice with a fork. Serve the spicy beef curry over the basmati rice, garnished with fresh chopped cilantro.