Caramelize the onion. Heat the extra-virgin olive oil in a large pot over medium heat. Add the sliced sweet onion and cook for 10–15 minutes, stirring from time to time, until the pieces become tender and develop a deep golden-brown color.
Add the aromatics and seasoning. Stir the finely chopped garlic, salt, and freshly cracked black pepper into the caramelized onion. Cook for another 1–2 minutes, just until the garlic becomes aromatic, taking care not to brown or burn it excessively.
Sauté the mushrooms. Add the whole shiitake mushrooms and sliced baby bella or cremini mushrooms. Cook for approximately 5–7 minutes, stirring occasionally, until the mushrooms soften and begin developing a lightly golden exterior.
Pour in the broth and add the kale. Stir the chicken or vegetable broth into the mushroom and onion mixture and bring the soup to a boil. Add the loosely chopped kale, then reduce the heat to low and cover the pot.
Simmer the soup. Allow the covered soup to gently simmer for 20 minutes. This gives the kale time to become tender while allowing the mushroom, onion, garlic, and broth flavors to combine thoroughly.
Finish with coconut milk. Remove the lid and stir in the coconut milk or coconut cream. Continue heating for 1–2 minutes, or until the soup is warmed evenly throughout.
Adjust the seasoning. Taste the finished soup and add a little more salt or black pepper if necessary before serving.