In the pot, melt the butter then add the sliced leeks and the chopped onions. Cook over medium heat until they are soft and glistening.
Add the chicken stock and bring to a boil. Add the asparagus pieces (not the tips) and bring back to a boil, then cook at a simmer until the asparagus is soft, about 45 minutes.
Puree the soup in batches in the blender, then return to the pot and warm it up. Add the asparagus tips and cook over medium for five more minutes, until the tips are tender. Season with salt and pepper to taste.