Soak and rinse asparagus. Remove top 1 inch of each spear, discard tough lower part, reserving middle portion of stalks. In a 3-quart saucepan over medium heat, saut? onion in butter for 3 to 5 minutes or until translucent. Add chicken stock, asparagus tips and stems, potato, celery, thyme, and pepper. Cover and bring to a boil. Reduce heat to low and simmer for 12 to 15 minutes or until vegetables are soft.
Remove from heat and let cool. Remove asparagus tips and set aside. Place half of the soup at a time in a blender container. Cover and blend at high speed for 20 to 30 seconds or until very smooth. Pass through a fine sieve and return blended soup to saucepan. Add reserved asparagus tips and cream (or half and half, or milk) and heat thoroughly, or refrigerate to be served cold.