Marinate the Chicken: Add the chicken, yogurt, garlic, ginger, garam masala, paprika, cumin, turmeric, chili powder, black pepper, and salt to a mixing bowl. Stir until every piece of chicken is evenly coated. Let the chicken marinate for at least 15 minutes.
Cook the Macaroni: Bring a large pot of salted water to a boil. Cook the macaroni until just tender according to the package directions. Drain well and reserve some pasta water before setting the macaroni aside.
Cook the Chicken: Heat a large skillet over medium-high heat and add a little oil. Add the marinated chicken in a single layer. Cook until browned on the outside and completely cooked through, turning occasionally. Transfer the chicken to a plate if necessary.
Make the Tikka Sauce: Reduce the heat to medium and add the butter to the same skillet. Add the garlic and ginger and cook briefly until fragrant. Stir in the tomato sauce, garam masala, paprika, and chili powder. Simmer gently for a few minutes to allow the flavors to blend.
Add the Cream: Pour the heavy cream into the skillet and stir gently until the sauce is smooth and creamy. Keep the heat low and season with salt and black pepper. Avoid boiling the cream rapidly.
Combine the Chicken and Macaroni: Return the cooked chicken to the skillet and add the drained macaroni. Toss gently until everything is evenly coated with the creamy tikka sauce. Add a splash of reserved pasta water if the sauce is too thick.
Finish and Serve: Stir in Parmesan or mozzarella if using. Finish with fresh cilantro and lemon juice. Toss gently and serve immediately while hot and creamy.