Heat the butter or olive oil in a medium soup pot over medium-low heat. Add the shallot and sauté until soft and fragrant, 5 to 6 minutes, stirring often. Add the asparagus and vegetable broth and season with salt and pepper. Cover the pot, and bring to a boil. Reduce to a simmer, and cook until the asparagus is very tender: 10 to 12 minutes.

Transfer the soup to a blender, and add the basil and crème fraîche. Purée until completely smooth. Ladle into bowls, and top with a dollop of crème fraîche and a chiffonade of fresh basil.