Snap off the tough ends of the asparagus, but don't discard them. Cut about 1-1/2 inches of the tips off the asparagus spears and cut the spears crosswise in thirds; set the spears and tips aside separately.
Melt 1-1/2 Tbs. of the butter in a 3-qt. saucepan over medium-low heat. Add the tough asparagus ends, about half of the celery, the onion, and the dark-green parts of the leek. Cook uncovered, stirring occasionally, until the vegetables look very soft, about 30 min. (If the vegetables show any sign of browning, reduce the heat to low.) Add 6 cups cold water and the peppercorns, parsley, thyme, and 1/2 tsp. salt. Bring to a boil over high heat, reduce the heat to medium-low, cover, and simmer for 30 min. to make a flavorful vegetable stock.
Meanwhile, bring a 2-qt. pot of salted water to a boil over high heat. Add the asparagus tips and cook until just tender, 2 to 3 min. Drain in a colander, shower with cold water to stop the cooking, and drain again. Set aside.
In another 3-qt. (or larger) saucepan, melt the remaining 2 Tbs. butter over medium-low heat. Add the white and light-green sliced leek and the remaining celery and season with a generous pinch of salt. Cook, stirring occasionally, until the leeks look soft but not browned, 3 to 4 min. Add the garlic and cook for 1 minute more. Add the asparagus spears and the potato. Set a wire mesh strainer over the pot and pour in the stock from the other pot; discarding the solids. Stir well and bring to a boil over high heat. Reduce the heat to medium-low, cover, and cook at a lively simmer until the potatoes and asparagus are very tender, about 20 min. Turn off the heat and let cool slightly.
Purée the soup in a blender in two or three batches. Return the puréed soup to the soup pot, add the cream, and stir well. Reheat the soup gently over medium-low heat. Season to taste with more salt and a large pinch of white pepper. Ladle the soup into bowls or soup plates and scatter in the asparagus tips, distributing them evenly among the servings.