Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to package instructions until al dente, about 7-8 minutes. Drain and set aside.
In a medium saucepan, melt the butter over medium heat. Whisk in the flour to create a roux and cook for about 2 minutes until golden and bubbling but not browned.
Slowly pour in the milk while whisking continuously to avoid lumps. Cook and whisk until sauce thickens and coats the back of a spoon, about 5-7 minutes. Add garlic powder, onion powder, salt, and pepper to taste.
Reduce heat to low and add shredded sharp cheddar, mozzarella, and grated Parmesan cheeses. Stir gently until cheese is melted and sauce is smooth and creamy.
Add cooked macaroni to the cheese sauce and stir until fully coated. Fold in crumbled turkey bacon if using.
Preheat oven to 350°F (175°C). Transfer mac and cheese mixture to a greased baking dish and sprinkle breadcrumbs evenly over the top.
Bake for 20-25 minutes until breadcrumbs are golden brown and mac and cheese is bubbling around the edges.
Remove from oven and let sit for a few minutes before serving. Serve warm and enjoy.