Preheat the oven to 350 degrees F and grease a medium casserole dish with nonstick spray; set aside.
Cook the pasta according to the package directions for “al dente”, this should take about 7 to 8 minutes. Drain, place back in the pot, and set aside.
Meanwhile, heat the olive oil, butter, and flour in a large skillet until the butter has melted. Whisk the mixture over medium low heat for 3 minutes.
Whisk in the half & half and bring to a simmer.
Whisk in the cheddar and mozzarella cheeses as well as the salt, garlic powder, cayenne, and black pepper until the cheese is melted and the mixture is thick and gooey.
Pour the cheese sauce over the pasta and stir until fully coated then transfer into the prepared casserole dish.
In a small skillet, melt the salted butter and add in the Panko breadcrumbs and toast over medium heat until they begin to brown. Optional: Mix in 3 tablespoons of Parmesan cheese right at the end of toasting.
Sprinkle the mixture over the top of the macaroni and cheese and bake for 10 minutes.
This can be left as a stovetop mac and cheese, simply omit the bread crumb topping ingredients and the baking step.