Peel and trim the asparagus, getting rid of the woody bits, then wash it thoroughly to get rid of sand. If using sprue, i.e. very thin asparagus, just trim the woody white ends; this asparagus probably has the best flavour for this dish. Keep the peelings and trimmings. Chop the asparagus into 2 cm lengths (5 cm for sprue). Boil the vegetable broth with the asparagus peelings and trimmings for 15–20 minutes to infuse, then sieve. Keep the broth hot and discard the solids.
Melt half the butter in a wide pan over a medium heat. Add the onion and asparagus and sweat for 3–4 minutes. Add the broth and turn up the heat to a boil. Cook for 10 minutes until the asparagus is very tender and the broth has nearly evaporated.
Meanwhile cook the pasta (ideally Garganelle), drain and add to the asparagus sauce. Add the remaining butter and the Parmesan, then toss again over a medium heat. Serve immediately.