Bring a large pot of salted water to a rolling boil and cook the penne pasta until almost al dente, about 8 to 10 minutes. Save a cup of the pasta water before draining.
Heat olive oil in a wide skillet over medium heat and add the chopped yellow onion, cooking until they turn translucent and tender, roughly 5 minutes.
Add the ground turkey to the skillet, breaking it apart with a wooden spoon, cooking until browned and crumbly, about 6 to 8 minutes. Season with salt, pepper, and Italian seasoning, then mix in the minced garlic and cook for an additional minute.
Sprinkle the flour evenly over the turkey mixture while stirring continuously and cook for one minute to remove the raw flour taste.
Slowly pour in the chicken broth and tomato sauce, stirring to combine. Let the sauce simmer gently until it thickens, about 3 to 5 minutes.
Fold the cooked pasta into the sauce, ensuring it is well coated. Add the half-and-half and stir gently, adding reserved pasta water bit by bit to reach your desired sauce consistency.
Reduce the heat and fold in half of both cheeses, stirring until they melt and become bubbly, approximately 2 to 3 minutes. Turn off the heat and sprinkle the remaining cheese on top, then cover the skillet to allow the cheese to melt for a couple more minutes.
Finish by sprinkling freshly chopped parsley and red chili flakes over the dish. Serve the pasta warm and enjoy.