Heat a medium soup pot on medium high heat. Add the butter and olive oil, once the butter has melted add the onions. Sprinkle the onions with a good pinch of salt and let it cook until caramelized and golden brown. It will take about 10-15 minutes, stir frequently.
Stir in the chopped garlic and let it cook for 10-20 seconds. Add the cayenne pepper if using and give the mixture a good stir.
Add the chopped spinach and swiss chard to the pot, give it a good stir, and cook till the greens have wilted about 1-2 minutes. Add the vegetable broth to the pot, bring to a simmer, cover the pot, and let it simmer for 2-3 minutes.
Turn the heat off, puree the soup with an immersion blender or in a vitamix till perfectly smooth.
Pour the soup back to the pot (if using a blender) and then let it heat up for a minute. Season with salt and pepper.
Ladle the soup into bowls, garnish with a little cream and croutons. Enjoy!
Note: This soup is not thick its more brothy. If you prefer a thicker soup add less vegetable broth.