Make the mac and cheese: Place a rack in the upper third of your oven (about 6 inches from the top). Preheat the oven to 375 degrees F.
Bring a large pot of salted water to boil. Cook the pasta in the water until pasta is al dente, according to package directions. Gather the rest of your ingredients (even the spices) and make sure they are measured and on hand. Once the pasta has finished cooking, reserve about 1 cup of the pasta water. Drain the pasta and set aside.
Meanwhile heat a large, oven-safe skillet over medium high. Add the olive oil and butter and cook until the butter with canola oil melts. Add the mushrooms. Cook until the mushrooms begin to lightly brown, about 5 minutes, stirring every few minutes. Stir in the rosemary and salt. Sprinkle the flour over the top, then cook and stir for 1 minute, until the white bits disappear. The pan will seem dry.
Slowly pour in the milk, stirring as you go. Bring to a simmer. Stir in the pepper, garlic powder, and nutmeg. Let simmer until very slightly thickened, about 2 minutes. Stir in the cheddar and fontina until the cheeses melt, then stir in the drained pasta. If the sauce is too thick, splash in a little bit of the reserved pasta water. It should be rich, creamy, and nicely coat the noodles. Use the back of a spoon or spatula to spread the noodles into an even layer in the skillet.
Make the topping: In a small bowl, melt the butter. Stir in the Panko and Parmesan until evenly moistened, then sprinkle over the macaroni and cheese. Bake until the breadcrumbs are golden and the mac and cheese is hot and bubbly, about 10 minutes. Let rest a few minutes. Serve hot.
TO STORE: Place leftover mac and cheese in an airtight storage container in the refrigerator for up to 4 days.
TO REHEAT: Rewarm the mac and cheese in a large oven-safe skillet in the oven at 350 degrees F until hot. You can also reheat this dish in the microwave, but the breadcrumbs won’t re-crisp as nicely. Add a splash of milk prior to heating to keep the mac from drying out.
TO MAKE AHEAD: Chop your mushrooms and shred your melty cheeses up to 1 day in advance, storing both in separate airtight containers in the refrigerator until you’re ready to cook. You can also boil your pasta 1 day in advance, making sure to save some pasta water in a storage container (in case you want to adjust your sauce later). Store both in separate airtight storage containers in the refrigerator.