Preheat your oven to 350°F (175°C).
Cook the spaghetti according to package instructions until al dente. Drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the onions and garlic, sautéing until soft.
Add the sliced mushrooms to the skillet and cook until they are tender and browned.
Stir in the flour, salt, pepper, thyme, and paprika. Cook for about 1 minute, stirring continuously.
Gradually whisk in the chicken broth and heavy cream. Continue to cook, stirring, until the sauce thickens, about 5 minutes.
Remove the skillet from the heat and stir in the cooked chicken, half of the Parmesan cheese, and the cooked spaghetti until everything is well combined.
Transfer the mixture into a greased 9x13 inch baking dish. Sprinkle the remaining Parmesan and the mozzarella cheese evenly on top.
Bake in the preheated oven for 25-30 minutes, or until the cheese is melted and golden brown.
Let the Chicken Tetrazzini cool for a few minutes before serving. Enjoy!