1. Heat 2 tablespoons of the oil in a large stockpot over medium heat. Add the mushroom stems and a few button mushroom caps and sweat for 5 minutes, until tender and releasing juice. Add the water and white port and bring the mixture to a boil. Reduce the heat, partially cover, and simmer for 20 minutes. Strain the stock through a fine sieve to remove solids, reserving 5 cups of the liquid; set aside.
2. Heat the remaining 2 tablespoons of the oil in a large stockpot over medium heat. Add the onion, celery, leeks, and 2 cloves of the garlic and sweat for 4 minutes, until tender.
3. Tie the thyme stems together with string and add to the pot with the rosemary, bay leaves, and pepper. Stir to coat the vegetables.
4. Add the mushrooms and sauté 5 minutes.
5. Add the reserved mushroom liquid, beans, and tomatoes. Bring the mixture to a boil, reduce heat, partially cover, and simmer for 2 hours, until the beans are tender.
6. Remove from the heat and stir in the kale, balsamic vinegar, chopped thyme, salt, and remaining garlic clove. Cover and let steep 1 minute.
7. To serve, remove the thyme stems and bay leaves and ladle the soup into bowls.