Bring a large pot of salted water to a boil. Add the macaroni and cook until al dente, according to package instructions. Drain and set aside.
Toss the cubed butternut squash with olive oil, salt, and pepper. Spread it on a baking sheet and roast in the preheated oven for about 25-30 minutes, or until tender and lightly caramelized. Remove and let cool slightly.
In a large saucepan over medium heat, add a splash of olive oil. When hot, add the onion and cook until translucent, about 4-5 minutes. Stir in the garlic and cook for an additional 1-2 minutes until fragrant.
In a blender or food processor, add the roasted butternut squash, sautéed onion, garlic, vegetable broth, milk, thyme, smoked paprika, nutmeg, salt, and pepper. Blend until smooth and creamy.
In a large mixing bowl, combine the cooked macaroni and the butternut squash sauce. Stir in 1 cup of shredded cheddar cheese and mix until well incorporated.
Transfer the macaroni mixture into a greased 9x13 inch baking dish. Sprinkle the remaining 0.5 cup cheddar cheese, parmesan cheese, and breadcrumbs (if using) evenly over the top.
Place the dish in the oven and bake for 25-30 minutes, or until golden and bubbly.
Once baked, remove from the oven and let it cool for a few minutes. Garnish with freshly chopped parsley before serving.