In a large pot, bring salted water to a boil. Add the elbow macaroni and cook 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.
Gradually whisk in the whole milk, ensuring there are no lumps. Continue to cook until the mixture thickens slightly, about 5-7 minutes.
Reduce heat to low. Add the sharp cheddar and mozzarella cheeses, garlic powder, and onion powder to the thickened milk. Stir continuously until the cheeses are fully melted and the sauce is smooth. Season with salt and pepper to taste.
Add the cooked macaroni to the cheese sauce, stirring until the pasta is well coated.
If using, preheat the oven to 350°F (175°C). In a small bowl, mix breadcrumbs with olive oil until coated. Sprinkle this mixture evenly over the macaroni and cheese in a baking dish.
Transfer the mac and cheese to the oven (if baking) and bake for about 20 minutes, or until the top is golden and crispy. If not baking, you can serve it directly after mixing.
Remove from the oven (if baked) and let it sit for a few minutes before serving.
Notes
Serve in individual bowls with a sprinkle of fresh parsley for color. You can also add a few slices of jalapeño on top for an added kick!