In a 3 quart saucepan over medium heat, in hot butter, cook onion until tender, stirring occasionally. Add asparagus; cook 1 minute. Stir in flour, salt and pepper until blended. Gradually stir in broth; cook, stirring constantly, until thickened. Reduce heat to low; cover and simmer 5 to 10 minutes, until asparagus is just tender. Stir in half-and-half. Spoon half of asparagus mixture into blender; cover (with center part of blender cover removed) and blend at low speed until smooth. Pour mixture into bowl. Repeat with remaining asparagus mixture. Return mixture to saucepan; heat through. Serve soup hot or cover and refrigerate to serve chilled soup later. If chilled soup is too thick, stir in additional half-and-half or milk.
Prepare as above but substitute 3 cups of cut-up broccoli florets for the asparagus.
Prepare as above but substitute 4 cups packed torn spinach for the asparagus and omit the 5 to 10 minutes of cooking time.
Prepare as above but substitute 3 cups of cut-up cauliflower for the asparagus and use 1 1/4 cups half-and-half and a dash of ground red pepper.
Prepare as above but substitute 4 cups of shredded green cabbage for the asparagus. Add 1/4 teaspoon of dry mustard with the flour.