Preheat your oven to 375°F (190°C). Grease a baking dish and set aside.
Bring a large pot of salted water to a boil. Add the butternut squash and cook until tender, about 15 minutes. With a slotted spoon, transfer the squash to a blender, leaving the water in the pot for the pasta.
In the same boiling water, cook the elbow macaroni according to package instructions until al dente. Drain and set aside.
To the blender with the squash, add the milk and broth. Blend until smooth. I've always been apprehensive about using too much liquid, but for this dish, the right consistency is key to a creamy sauce.
In a large saucepan, melt the butter over medium heat. Sprinkle in the flour and whisk for about 2 minutes to cook off the raw taste. This roux will thicken the sauce, so it's crucial not to rush this step.
Gradually pour in the butternut squash mixture, whisking constantly to prevent lumps. Add the garlic powder, nutmeg, and fresh thyme. Season with salt and pepper. Cook, stirring frequently, until the sauce thickens, about 5 minutes.
Remove the sauce from heat and stir in the shredded cheddar and Parmesan until melted and smooth. After a couple of trial runs, I found that adding the cheese off the heat prevents it from separating and becoming grainy.
Add the cooked macaroni to the sauce and stir to combine. Pour the mixture into the prepared baking dish.
In a small bowl, mix the panko breadcrumbs with olive oil, then sprinkle over the mac and cheese. This will give a delightful crunch that contrasts beautifully with the creamy pasta.
Bake for 25-30 minutes, or until the top is golden and the sauce is bubbling. Let it sit for 5 minutes before serving. This rest time allows the sauce to set slightly, ensuring that creamy texture in every bite.