Marinate the Beef: In a bowl, combine beef with yogurt, garlic, ginger, turmeric, cumin, coriander, chili powder, and salt. Mix well, cover, and marinate for 1 hour (or overnight).
Brown the Beef: Heat oil in a large pot. Sear the beef in batches until browned. Set aside.
Cook Aromatics: In the same pot, sauté onions until golden. Add garlic, ginger, and spices. Cook for 1-2 minutes.
Simmer the Sauce: Stir in crushed tomatoes and cook for 5-7 minutes. Add beef and coconut milk. Bring to a simmer.
Slow Cook: Cover and simmer on low for 1.5-2 hours, until beef is tender.
Garnish and Serve: Stir in cilantro and serve with rice or naan.