In a bowl, combine venison cubes with the rest of the marinating ingredients ( yoghurt, garlic, ginger, garam masala, turmeric and salt ). Cover and refrigerate for at least 2 hours (preferably overnight) to tenderize and infuse flavor.
Heat 1 tbsp oil in a large pot or Dutch oven over medium-high heat. Remove venison from marinade and brown in batches (don’t overcrowd the pan). Set aside.
In the same pot, add another tablespoon of oil. Sauté onions over medium heat until soft and golden (10–12 minutes). Add garlic and ginger, cook 1–2 mins. Stir in spices: cumin, coriander, paprika, chilli, cinnamon. Cook 1 min until fragrant.
Add tomato paste, cook briefly to caramelise. Stir in chopped tomatoes and bring to a simmer. Return browned venison to the pot. Pour in stock, cover, and reduce heat to low.
Simmer gently on low heat for 2.5 to 3 hours, stirring occasionally, until venison is tender and sauce is thickened. If needed, add a splash of water or stock to loosen.
Stir in coconut milk or cream during the last 15–20 minutes for added richness. Season with salt and pepper to taste.
Sprinkle with chopped fresh coriander. Serve with fluffy basmati rice, roti, or garlic naan.