In a large pot of boiling salted water, cook the elbow macaroni according to package instructions until al dente. Drain and set aside.
While the pasta cooks, steam the diced butternut squash until tender, about 10-12 minutes. Transfer to a blender or food processor, adding a splash of milk to create a smooth puree, and blend until creamy.
In a large skillet, heat olive oil over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes. Stir in the minced garlic and cook for an additional minute until fragrant.
Reduce the heat to low and add the butternut squash puree to the skillet with the onions and garlic. Stir in the remaining milk, Dijon mustard, smoked paprika, salt, and pepper. Mix until well combined and heated through.
Gradually add the grated cheddar and Gruyère cheeses, stirring until fully melted and smooth.
Combine the cooked macaroni with the cheese sauce, mixing well to ensure all pasta is covered.
Transfer the mac and cheese mixture to a greased 9x13 inch baking dish.
In a small bowl, mix the breadcrumbs with melted butter, then sprinkle evenly over the top of the mac and cheese.
Bake in the preheated oven for 25-30 minutes, until the top is golden and crispy.
Allow to cool for a few minutes before serving.
Notes
Serve hot, drizzled with olive oil and topped with fresh herbs for added color.