Cook the pasta: Bring a large pot of salted water to a boil. Cook the pasta according to the package directions until al dente.
Reserve the pasta water: Before draining, save about ½ cup of the cooking water. You may need it to loosen the sauce later.
Season the chicken: Season the chicken pieces with chili powder, cumin, salt, and black pepper.
Cook the chicken: Heat olive oil in a large skillet over medium-high heat. Add the chicken and cook for about 5 to 6 minutes, stirring occasionally, until browned and cooked through. Remove it from the skillet and set aside.
Cook the onion and garlic: Add the diced onion to the same skillet and cook for 2 to 3 minutes until softened. Add the garlic and cook for about 30 seconds.
Add the enchilada sauce: Pour the enchilada sauce into the skillet and stir it with the onions and garlic.
Make it creamy: Reduce the heat to medium-low and add the cream cheese. Stir until it melts into the sauce and becomes smooth.
Add the pasta: Add the drained pasta to the skillet and toss until it is coated in the sauce.
Adjust the sauce: Add a little reserved pasta water at a time if the sauce feels too thick.
Add the chicken: Return the cooked chicken to the skillet and stir everything together.
Add the cheese: Sprinkle in about ¾ cup of the shredded cheddar and stir until melted.
Finish the pasta: Taste and add more salt, pepper, or chili powder if needed.
Serve: Top with the remaining cheese and let it melt. Add fresh cilantro or a spoonful of sour cream if you like.