Cook the pasta in salted water according to package directions. Reserve pasta water to thin out the sauce later if you need to.
In a large skillet, heat oil over medium-high heat, add the chicken thighs, season with salt and cook until you get a sear (the chicken does not need to fully cook). Remove onto a plate and set aside.
In the same skillet, melt a tablespoon of butter and add garlic and ginger, cook for 30 seconds then add garam masala, chili powder, smoked paprika, cumin, and turmeric. Stir and cook for 30 more seconds.
Add tomato sauce and ¼ cup of water, stir the sauce to combine and scrape the pan with a spatula or wooden spoon to remove any bits stuck to the bottom of the pan. Season with salt and add sugar.
Add the chicken back in, stir to combine and simmer for 5 minutes.
Add the heavy cream and remaining butter, stir and simmer for 2 more minutes until you get a creamy sauce.
Stir in the pasta, remove from heat, garnish with cilantro and serve immediately.