Mix yogurt, lemon juice, and spices. Add chicken, coat well, and chill for 30 minutes.
Boil linguine until al dente. Reserve ¼ cup water, then drain.
Sauté marinated chicken in oil over medium-high heat until browned and cooked through. Set aside.
In the same pan, melt butter. Sauté onion, then add garlic, ginger, and spices.
Stir in tomato purée and simmer 5 minutes.
Pour in cream, let sauce thicken. Return chicken, season, and thin with pasta water if needed.
Add linguine to sauce. Toss to coat evenly.
Garnish with cilantro and serve warm.