Cook pasta until mostly done, drain and set aside in a large mixing bowl.
While pasta is cooking, cook chicken in a cooking pan, over medium heat with a little bit of vegetable oil, salt and pepper. Once it's done, take out and set aside until it cools enough to handle.
In the same pan as you cooked chicken, add diced bacon and raise heat to medium-high. Cook bacon bits until deep golden and all fat is cooked.
Add sliced onion and mushrooms to the pan with bacon. Mix and cook until mushrooms are cooked. Drain off some of the fat and add bacon, mushrooms and onions to the bowl with pasta.
Preheat oven to 350 and grease a 9x13 casserole dish.
Cube chicken and add it to the bowl with pasta.
In the pot where you cooked pasta, you can cook Alfredo sauce.
Melt butter in the pot over medium heat. Add pressed garlic and saute until fragrant (just a few seconds). Whisk in flour and slowly pour in heavy cream WHILE whisking constantly (I suggest using a silicone covered whisk). Heat through over medium heat, keep stirring slowly.
Add sour cream, Parmesan cheeses, salt and pepper. Keep cooking on medium-low heat for about 5-7 minutes, stirring often.
Pour Alfredo sauce into the pasta bowl and mix everything until all evenly incorporated.
Transfer into the casserole dish and spread Mozzarella cheese over the top.