Bend 2 ½ pounds fresh green asparagus stalks until they snap. Keep the parts with the tips. Discard the rest.
Have 5 to 6 cups vegetable broth simmering slowly in a medium pot.
In a large pot over medium-low heat, add 1 tablespoon olive oil and 1 tablespoon butter until they meld, and add ½ cup chopped leeks, ⅓ cup onion, 1 shallot and 1 garlic clove.
Season with salt and freshly ground pepper to taste and cook until they soften but not letting them brown, about 5-7 minutes.
Add the asparagus pieces, stir, and add 4 cups of the broth.
Let it simmer and cook, covered, for about 10 minutes. Uncover the pot and let it cook for 5 more minutes or until the asparagus are soft. Check for seasonings and adjust.
Remove from the heat and blend in the pot using the immersion blender. If using a regular blender, work in batches. Be careful, as some blender jars do not admit very hot mixtures. If that is the case for you, you'll have to wait until the mixture has cooled down. I cracked a glass blender jar once with hot soup.
Check again for seasonings and adjust and add more broth until you have the consistency you like.
Serve with some unsweetened whipped cream or a dollop of sour cream or creme fraiche.