Snap off the woody stems from each asparagus spear and set aside. Trim the attractive tips from each spear and set aside. Cut the remaining tender stalks into 1/2 inch pieces and set aside.
In a medium pot, bring the chicken stock to a boil.
Add the tough woody asparagus stems. Reduce heat to low and simmer the stems to infuse their flavor into the broth – about 20 minutes.
Remove the stems with a slotted spoon and discard them. Reserve the broth.
Bring the broth back to a boil and add the asparagus tips. Blanch the tips just until they are tender – about 1 minute.
Remove the tips from the stock with a slotted spoon to an ice water bath. When tips are completely cool drain and set aside. Reserve the stock.
In a second medium stock pot, melt the butter over medium heat. When butter begins to foam, add the leeks and shallots. Sauté for 3 minutes, then add the garlic and continue cooking for 1 minute.
Add the chopped asparagus stalks, white pepper, and reserved chicken stock. Bring to a simmer and cook for 20 minutes or until the asparagus is very tender.
With an immersion blender or in batches in a food processor, puree the soup until it is smooth.
Taste and adjust seasonings as needed. Just before serving, stir in the half-n-half and most of the asparagus tips (reserve a few for garnishing the bowls).
Ladle hot soup into bowls and garnish with a sprinkle of cheese and a few asparagus tips.