Preheat the oven to 350°F (175°C). Lightly grease a 9×13-inch baking dish.
Bring a large pot of salted water to a boil. Cook the spaghetti according to package directions until just shy of al dente.
Drain the spaghetti and set aside.
Heat olive oil or butter in a large skillet over medium heat.
Add the diced onion and sauté for 3–4 minutes, until softened.
Add the minced garlic and cook for about 30 seconds, until fragrant.
Stir in the diced tomatoes, tomato sauce, and chicken broth.
Add Italian seasoning, smoked paprika, garlic powder, salt, black pepper, and red pepper flakes if using.
Reduce heat to medium-low and simmer for 3–4 minutes.
Add the softened cream cheese and stir until completely melted and incorporated.
Remove the skillet from the heat and stir in the sour cream.
Add the shredded chicken and stir until evenly combined.
Stir in 1 cup cheddar cheese and 1/2 cup mozzarella cheese until the cheese starts to melt.
Add the cooked spaghetti and gently toss until the noodles are completely coated in the sauce.
If the mixture is too thick, add a small splash of chicken broth.
Transfer the mixture to the prepared 9×13-inch baking dish and spread evenly.
Sprinkle the remaining mozzarella or cheese blend over the top.
Sprinkle the Parmesan cheese evenly over the casserole.
Cover loosely with aluminum foil and bake for 20 minutes.
Remove the foil and bake for another 10–15 minutes, until the cheese is melted, bubbly, and lightly golden.
For a more golden topping, broil for 1–2 minutes, watching carefully.
Remove from the oven and let the casserole rest for 5–10 minutes.
Garnish with chopped fresh parsley.
Serve warm.