Cook the penne pasta in boiling water until just bendable (do not overcook the pasta until soft as it will cook more in the oven) drain well, then place the hot pasta into a large bowl.
Mix in butter until melted, then mix in the softened cream cheese; set aside.
In a skillet cook the ground beef with garlic and chili flakes until no longer pink; drain fat then continue to cook until browned.
Add in pasta sauce and mushrooms; bring to a simmer over medium heat.
Reduce heat to low and cook for about 20-30 minutes stirring occasionally, and season with salt and pepper to taste (if you find that the mixture is too thick add in 1/4 cup water and continue simmering for another 10 minutes).
TO ASSEMBLE; spread HALF the meat sauce into baking dish, then top with all the penne pasta mixture, sprinkle 1/3 cup Parmesan cheese over the pasta, then 1 cup mozzarella cheese on top.
Dollup remaining meat sauce on top then spread out using a spoon.
Sprinkle 1/3 cup Parmesan cheese over the meat sauce, then 1 cup shredded mozzarella cheese on top.
Bake uncovered at 350 degrees F for about 40 minutes or until completely heated through and bubbly.