Heat oven to 220°C. Toss the butternut squash with 1 tbsp olive oil, salt, and pepper. Roast for 30 minutes until tender and caramelised.
Add cherry tomatoes and asparagus to the tray with the remaining olive oil and roast for another 20 minutes until tomatoes burst and asparagus is just tender.
Bring a large pot of well-salted water to a boil. Cook pasta until al dente. Reserve at least 1 cup of pasta water before draining.
In a blender or food processor, combine ½ to ¾ of the roasted squash, cannellini beans, garlic, lemon zest, chilli flakes, and ½ cup pasta water. Blend until smooth and creamy.
Add the sauce to a large pan over low heat. Stir in the cooked pasta and a splash more pasta water to loosen. Fold in swiss chard and let it wilt gently in the heat.
Add the remaining roasted squash, tomatoes, and asparagus. Remove from heat, stir through parmesan, and season to taste with black pepper and extra chilli flakes. Top with more parmesan and enjoy!
