What I like about this pasta is that it has a lot of body without a lot of butter, cheese or oil. A lot of other vegetables could be substituted here: Leeks, peas, cauliflower or kale would be my immediate choices. You could add anchovies to the sauce too, which would put it over the top.
Bring a large pot of salted water to a boil. When the water is boiling vigorously, add the pasta and cook for approximately 12 minutes, stirring and tossing the pasta in the boiling water every few minutes to prevent it from clumping or sticking. Reserve some of the pasta cooking water, then drain the pasta in a colander and set aside.
Meanwhile, bring about 1 1/2 inches of water to a boil in a small pot. Chop the broccoli stems and add them to the boiling water along with about a quarter of the broccoli florets and the onions. Cook until very soft, about 10 minutes, then turn off the heat and add the butter and a hearty amount of salt. Cover with a lid to cool, about 15 minutes.
When cool, transfer the contents of the pot to a blender, add the juice from the lemon half and puree until very smooth. Check the seasoning and add salt as necessary.
Heat 2 large saute pans over high heat and add 2 tablespoons of olive oil to each. Saute the remaining broccoli florets in one pan and the cauliflower florets in the other, tossing every couple minutes, for about 10 minutes total or until the broccoli and cauliflower have color and are starting to soften and break apart. Add half of the garlic to each pan and toss well, cooking another few minutes or until the vegetables are just cooked through.
Remove from the heat and combine the broccoli and cauliflower in one pan. Stir in the pureed broccoli, remaining 1/4 cup olive oil and the pasta. Turn the heat back on and heat everything up, tossing together well and adding a little reserved pasta water if needed to loosen the sauce, until well coated. Serve topped with a healthy amount of freshly grated Parmesan cheese.
Breadcrumbs would also be a great addition to this pasta.