Heat olive oil in a large pot over medium-high heat.
Add onion, garlic, celery and carrot. Cook, stirring often, until soft, about 5 minutes over medium heat, being careful not to burn the veggies. You can turn down the heat to medium low if needed.
Add sweet potato cubes and 5 cups water. Cook for about 10 minutes, until sweet potatoes are tender.
Add the red pepper flakes if using.
Prepare the caramelized walnuts if using.
Peel the asparagus ends or snap off the woody ends of the asparagus and chop the asparagus spears into smaller pieces.
Add the chopped asparagus pieces to the soup. Simmer for 2-3 minutes until asparagus pieces are just tender. They should still be bright green.
Remove from heat. Blend until you get a creamy consistency with an immersion blender or food processor.
Stir in salt, and pepper and cream if using.
Serve with crumbled Feta cheese or freshly grated Parmesan cheese.
Sprinkle with caramelized walnuts.