Preheat the oven to 425°F and line a large baking sheet with parchment. Add the cauliflower and Brussels sprouts to a bowl, drizzle with olive oil, and season with salt and pepper. Spread in an even layer on the baking sheet and roast for 15–20 minutes, stirring once, until the edges are browned and the vegetables are tender. Let them cool slightly.
Bring a large pot of salted water to a boil. Cook the campanelle according to package directions until al dente. Drain and rinse briefly under cool water so it doesn’t continue cooking. Drizzle with a little olive oil if needed to prevent sticking and set aside.
Set a large skillet over medium heat and melt the butter. Add the onion and cook for 3 minutes until softened.
Add the roasted cauliflower and Brussels sprouts to the skillet. Stir gently for 1–2 minutes so they warm through and pick up some of the buttery onion flavor. Season lightly with salt and pepper.
Pour in the white wine and stir to loosen any browned bits from the skillet. Let it simmer for 2–3 minutes until most of the liquid has evaporated and only a light coating remains. Remove from the heat and cool slightly.
In a large bowl, combine the pasta with the warm vegetable mixture. Add the Parmesan and parsley, then toss gently.
Adjust seasoning to taste and serve warm.