Heat the neutral oil in a large soup pot over medium heat until very hot. Add the diced onion and cook for 4-5 minutes.
Add the mushrooms and cook, stirring occasionally, for 10 minutes until very well-browned. Season with salt and pepper.
Add the garlic and butter and cook for 45 seconds until the garlic is fragrant and the butter is melted and frothy.
Make the Roux:
Sprinkle the flour over the vegetables and toss to coat. Cook, stirring regularly, for 1-3 minutes.
If using milk, warm it in the microwave in 45-second increments until completely warm.
Add the milk to the flour, in 1/2 cup increments, whisking after each addition until all the milk has been added. Taste and season with salt and pepper.
Finish the Soup:
Pour the stock into the soup and season with thyme, crushed red pepper, and rosemary. Bring to a very low boil and add the potatoes. Reduce heat and simmer for 20 minutes or until the potatoes are almost fork-tender. Taste and season again to your preferences.
Cook the Kale:
Add the kale to the soup and stir to incorporate. Cook for 10 minutes until tender. Turn off the heat.
To Serve:
Ladle the soup into bowls and garnish with a drizzle of extra virgin olive oil, if desired. Enjoy!