Bring a large pot of salted water to a boil (I usually add at least 1 tablespoon of salt) and cook the pasta 1-2 minutes less than the package instructions. After the pasta has finished cooking, reserve 1 cup of boiling pasta water before draining. Set the pasta aside.
Heat the olive oil in a large pan or Dutch oven set over medium heat. Cook the onions until soft and translucent, approximately 5 minutes.
Add the ground turkey and cook over medium to medium-high heat, breaking it into small bite-size pieces. Once cooked, season with salt, pepper, and Italian seasoning and stir in the minced garlic. Mix to combine and continue to cook for an additional minute or so.
Sprinkle the ground turkey with 2 tablespoons of flour and mix well to combine. Pour in the chicken broth and the tomato sauce and let it come to a simmer.
Add the cooked pasta to the pan and pour in the half-and-half. Stir to combine.
For a thinner sauce, slowly add additional chicken broth or reserved pasta water. For a creamier sauce, add additional half-and-half.
Season with salt and pepper, to taste. Stir in half of the mozzarella cheese and half of the cheddar cheese and top with the remaining half cup of each.
Reduce heat to low and cover your pan or Dutch oven with a tight-fitting lid until the cheese is melted. Remove from heat and enjoy!