Cook macaroni: Boil the macaroni as per the instructions on the package. Once cooked, drain the water and set the pasta aside.
Caramelize onions: In a skillet, melt butter over medium-low heat. Add the thinly sliced onions and sauté until they turn golden and release a sweet aroma, about 20 minutes.
Prepare squash: Peel the butternut squash, remove seeds, and cube the flesh. In a pot, bring the broth to a boil and cook the squash until it's tender, which should take about 5-7 minutes.
Blend sauce: After the squash is cooked, reserve 1/2 cup of the broth and drain the rest. Transfer the squash to a blender, add the caramelized onions, milk, salt, and reserved broth. Blend until you achieve a smooth and creamy consistency.
Combine and serve: Pour the squash sauce over the cooked macaroni, add the shredded cheese, and stir until the cheese has melted and the mixture is well combined. If needed, adjust the consistency with a bit of water or milk. Garnish with parsley, and season with salt and pepper to taste before serving.