Begin by bringing a large pot of salted water to a boil. Add the elbow macaroni and cook according to package instructions until al dente, usually around 8 minutes. Drain and set aside.
Meanwhile, peel and cube the butternut squash into 1-inch pieces. Place the cubes in a medium saucepan and cover with water. Bring to a boil, then reduce to a simmer and cook until the squash is fork-tender, about 10-12 minutes. Drain and transfer the cooked squash to a blender or use an immersion blender to puree until smooth. Set aside.
In the same saucepan, melt the butter over medium heat. Once melted, whisk in the all-purpose flour to create a roux. Cook for 1-2 minutes, stirring constantly, until the mixture turns lightly golden and bubbly.
Slowly pour in the milk while whisking continuously, ensuring there are no lumps. Bring the mixture to a gentle simmer, and allow it to thicken slightly, around 3-4 minutes.
Stir in the pureed butternut squash, garlic powder, onion powder, salt, black pepper, and paprika. Mix well to combine all the flavors.
Remove the saucepan from heat and gradually fold in the shredded sharp cheddar and Gruyere cheeses. Stir until the cheese melts smoothly into the sauce, creating a luscious, creamy texture.
Add the cooked elbow macaroni to the cheese and squash sauce, stirring gently to coat every piece of pasta evenly. Then fold in the crumbled turkey bacon, distributing the smoky flavor throughout the dish.
In a small mixing bowl, combine the breadcrumbs with olive oil until the crumbs are evenly coated.
Transfer the mac and cheese mixture into a greased baking dish. Evenly sprinkle the breadcrumb mixture on top.
Bake in a preheated oven at 350°F (175°C) for 20-25 minutes, or until the topping is golden brown and crispy, and the cheese sauce is bubbling around the edges.
Remove from the oven and let the dish cool for 5 minutes before serving.