Preheat the oven to 350°F (175°C).
Cook the elbow macaroni in a large pot of salted boiling water according to package instructions until al dente. Drain and set aside.
In a medium saucepan, melt the butter over medium heat. Once melted, whisk in the flour and cook for about 1 minute to form a roux.
Gradually whisk in the milk, ensuring there are no lumps. Continue to cook and whisk until the mixture thickens, about 5-7 minutes.
Remove the saucepan from heat and stir in the cheddar cheese, mozzarella cheese, garlic powder, onion powder, smoked paprika, and season with salt and black pepper. Mix until the cheese is fully melted and the sauce is smooth.
Combine the cooked macaroni and cheese sauce in a large bowl, stirring to coat the pasta thoroughly.
Transfer the mac and cheese mixture to a greased 9x13 inch baking dish.
In a small bowl, combine the breadcrumbs and olive oil. Mix until the breadcrumbs are evenly coated.
Sprinkle the breadcrumb mixture evenly over the mac and cheese.
Bake in the preheated oven for 25-30 minutes, or until the top is golden and crispy.
Remove from the oven and let cool for a few minutes before serving.