Meanwhile, sautee the onion and garlic in the olive oil until tender, about 5-7 minutes. Set aside.
To cook the broccoli, bring ½ cup water to a simmer in a large pot and stir in the broccoli. Cover and cook for about 3 minutes, until barely tender. Remove about half the broccoli and set aside. Add the spinach to the cooking pot and stir well until spinach is wilted. Remove from heat. Stir in the milk and parmesan and, using a stick blender or a food processor, blend to form a smooth sauce. Add salt and pepper to taste.
Stir together the pasta, onion and garlic, broccoli, and sauce. Add the cheddar and and pine nuts and stir gently to combine. Pour into a medium-sized baking dish and sprinkle the remaining parmesan over the top.
Bake until cheese is melted and sauce slightly bubbles, about about 15 minutes.