Marinate the chicken: In a large bowl, combine yogurt, lemon juice, cumin, paprika, turmeric, salt, and garam masala. Add chicken pieces and coat evenly. Cover and refrigerate for at least 30 minutes (or up to overnight for deeper flavor).
Prepare the sauce: In a skillet, heat olive oil or butter over medium heat. Sauté onion until translucent (3–4 minutes). Add garlic and ginger, cooking 30 seconds until fragrant. Add spices (paprika, coriander, garam masala, chili powder) and cook 1 minute.
Transfer to slow cooker: Add marinated chicken and sautéed onions/spices to the slow cooker. Pour in tomato puree and stir to combine.
Slow cook: Cover and cook on low for 4–6 hours or on high for 2–3 hours, until chicken is tender and cooked through.
Finish with cream: Stir in coconut milk or heavy cream and adjust salt and pepper. Cook for an additional 10–15 minutes on low to heat through.
Serve: Garnish with fresh cilantro and serve hot with bas