Before chopping your fiddleheads, be sure to clean them thoroughly by soaking them for 5-10 minutes in a bowl of cool water. Then rinse and drain until the water runs mostly clean. Now they are ready to be chopped and measured.
Heat a Dutch Oven or large saucepan over medium heat, then add the butter and swirl until it melts.
Add the minced shallot (or onion) and saute until semi-translucent - about 3-4 minutes.
Pour in the chicken broth, and stir well.
Add the diced potatoes, chopped fiddleheads, salt, and pepper.
Increase the heat to medium-high and bring to a boil.
Reduce the heat to medium, cover loosely, and simmer for 20-25 minutes, or until the potatoes and fiddleheads are very tender.
Remove from the heat and use an immersion blender to puree the soup into a smooth consistency.
Return to the heat and stir in the lemon juice and heavy cream.
Bring to a low boil and cook until thickened - about 5 minutes.
Remove from the heat and stir in the parmesan cheese until melted.
Taste and adjust the seasonings to your taste.
Ladle into bowls and garnish with a dollop of creme fraiche or sour cream (optional) and some freshly snipped herbs.