Rinse and chop the asparagus. Peel and finely chop the shallot. Saute the shallot and asparagus in hot oil. Season with salt and pepper.
Pour in the broth and wine. Cover and simmer over low heat for 12-15 minutes.
Mix the creme fraiche with 1 tablespoon of water. Season with salt and pepper.
Blanch the tomato, peel, quarter, remove the core and dice.
Remove some of the asparagus from the pot. Add the parsley and half of the creme fraiche. Puree the soup. Season with vinegar, salt and cayenne pepper.
Place the asparagus back into the soup and add the tomato. Serve with the remaining creme fraiche.