Preheat the oven to 350°F.
Bring a large pot of salted water to a boil. Cook 1 pound of spaghetti according to package instructions until al dente.
Drain the pasta and toss with 1 tablespoon of olive oil, a pinch of sea salt, and Italian seasoning to taste. Set aside.
Heat 2 tablespoons of olive oil in a large skillet over medium heat.
Add 1 medium chopped onion, 1 pound of sliced cremini mushrooms, and 2 thinly sliced celery stalks. Sauté for 5-7 minutes until the vegetables are soft.
Add 6 minced garlic cloves and cook for 1 additional minute. Season with salt and pepper to taste. Remove from heat and set aside.
In another large skillet over medium-high heat, melt 1/4 cup unsalted butter.
Whisk in 1/4 cup of all-purpose flour and cook for 2 minutes, whisking continuously until the mixture is smooth.
Gradually add 1/2 cup of dry white wine (if using), continuing to whisk until the mixture is smooth and lump-free.
Slowly add 1 cup of whole milk or half-and-half, a little at a time, whisking constantly. Add in the 3 cups of chicken stock.
Reduce heat to medium-low and add 2 cups of grated cheese in small batches, stirring until the sauce is creamy and smooth—season with salt and pepper to taste.
In a 9x13-inch baking dish, combine the cooked pasta, 3-4 cups of chopped turkey, the sautéed vegetable mixture, 1 cup of frozen peas, and 1/2 cup of chopped parsley. Mix well.
Pour the cheese sauce evenly over the mixture and stir gently to coat everything. Feel free to add additional seasoning (salt, pepper, and Italian Seasoning to taste).
Top the casserole with 1 1/2 cups of breadcrumbs or fried French onions. Add more grated cheese if desired.
Place the baking dish in the preheated oven and bake for 30-40 minutes until bubbly and golden brown.
If the breadcrumbs brown too quickly, cover loosely with foil for the remaining baking time.
Remove the casserole from the oven and let it rest for 10-15 minutes to set.
Garnish with extra parsley if desired. Serve warm.