Cut the beef into 2-3 cm cubes, then season with salt and pepper to taste.
Heat 2 tablespoons of oil in a large pan or pot over medium-high heat. Add the beef cubes and sear them on all sides until browned (about 5-7 minutes). Once done, remove the meat and set it aside on a plate.
In the same pan, add 1 more tablespoon of oil if needed, then add the finely chopped onion. Sauté for 10-15 minutes until the onion caramelizes and turns golden brown. Then, add the grated garlic and sauté for another minute.
Sprinkle in the garam masala, cumin, paprika, turmeric, chili flakes, ground ginger, and cinnamon. Stir well and toast the spices for 1-2 minutes to release their aroma.
Add the tomato paste and mix thoroughly with the spices. Pour in the apple cider vinegar and cook for 2-3 minutes until the acidity reduces. Scrape up any browned bits from the bottom of the pan to enhance the flavor.
Return the seared beef to the pan and pour in the broth. Stir well to ensure the meat is fully submerged in the sauce. Bring the mixture to a boil, then reduce the heat to low.
Cover the pan and let the curry simmer slowly for 60-90 minutes until the beef becomes tender. Stir occasionally, and if the sauce becomes too thick, add more broth or water to reach the desired consistency.
Taste the curry and adjust seasoning with salt. If it's too tangy from the vinegar, add a pinch of sugar. Serve hot with freshly cooked basmati rice or naan bread for the perfect meal.
Note:
This beef curry is a rich, flavorful dish, perfect for colder months. The slow cooking process ensures the meat becomes tender while absorbing the deep, aromatic flavors of the spices. The sauce is warm, fragrant, and complex, making it a guaranteed crowd-pleaser.