Bring a large pot of salted water to a boil. Add 8 ounces of elbow macaroni and cook until just al dente, about 7-8 minutes. Drain and set aside.
In a medium saucepan, melt 4 tablespoons of unsalted butter over medium heat. Sprinkle in 1/4 cup of all-purpose flour and whisk constantly for about 2 minutes to form a smooth, golden roux.
Slowly pour in 4 cups of milk while whisking continuously to prevent lumps. Cook and whisk until sauce thickens and coats the back of a spoon, about 5-7 minutes. Remove from heat and stir in 2 cups shredded white cheddar and 1 cup shredded mozzarella until melted and smooth.
Add 1/2 teaspoon garlic powder, 1/2 teaspoon onion powder, and salt and pepper to taste. Mix well to combine.
Fold the cooked elbow macaroni and 1 cup cooked, crumbled turkey bacon into the cheese sauce. Stir gently until evenly coated.
Optional: Preheat oven to 350°F (175°C). Toss 1/2 cup breadcrumbs with 2 tablespoons olive oil. Spread mac and cheese in a baking dish, sprinkle breadcrumb mixture on top, and bake for 15-20 minutes until golden and bubbly.
Serve hot and enjoy the creamy, cheesy pasta with smoky turkey bacon and optional crunchy topping.