Cook the spaghetti according to package directions, drain, and set aside.
Heat butter and olive oil in a large skillet over medium heat. Add the chicken and season with garlic powder, onion powder, Italian seasoning, salt, and pepper. Cook until golden.
Add onion if using and cook 2-3 minutes until softened.
Stir in the minced garlic and cook 1 minute until fragrant.
Pour in heavy cream and chicken broth, stirring as it begins to simmer.
Add Parmesan and mozzarella, stirring until the sauce melts into a smooth, creamy garlic-Parmesan blend.
Add the cooked spaghetti and toss until every noodle is coated in the creamy mozzarella sauce.
Let simmer 1-2 minutes to thicken.
Garnish with parsley or a pinch of red pepper flakes and serve warm.
