Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to the package instructions until al dente, usually about 7-8 minutes. Drain the pasta and set it aside while you prepare the cheese sauce.
In a medium saucepan, melt the butter over medium heat. Once melted, whisk in the all-purpose flour and cook for about 1-2 minutes, stirring constantly to form a roux.
Gradually whisk in the milk, continuing to stir until the mixture thickens and begins to bubble, about 5-7 minutes. Stir in salt, black pepper, garlic powder, and onion powder.
Lower the heat and add the shredded sharp cheddar and mozzarella cheeses a handful at a time. Stir continuously until all the cheese is melted and the sauce is smooth and creamy.
Add the cooked macaroni back into the saucepan and gently stir to coat every piece with the cheesy sauce. If using turkey bacon, fold it in now for that added savory flavor.
Preheat your oven to 350°F (175°C). Transfer the mac and cheese mixture into a greased baking dish. Sprinkle the breadcrumbs evenly over the top for a crunchy finish.
Bake in the preheated oven for 20-25 minutes, or until the breadcrumbs are golden brown and the sauce is bubbly around the edges. Remove from the oven and let it cool slightly before serving.