Heat the oil in a frying pan with the stove on medium heat. Sauté the onions and garlic until the onions are translucent (about 1 minute).
Pour the cooked onion and garlic mixture into the slow cooker.
Add all the other ingredients (minus the mushrooms, cream and salt) to the slow cooker. Use a spoon to mix everything together. If you're using cooked chicken or turkey, don't add it just yet (see notes below).
Cover the slow cooker with the lid. Set the temperature indicator on the slow cooker to low and the timer to 6 hours; You can set the timer to 7 hours if you like soup to be very tender.
Add the mushrooms to the soup about 3 hours before the soup is ready to be done.
Remove the chicken from the soup about 2 hours before the soup is done. Place the chicken on a cutting board and let it cool for 20 minutes; letting the chicken rest before you shred/cut it will help to retain the moisture.
After 20 minutes, use a knife and fork to shred/cut the chicken into smaller pieces. Pour the shredded chicken into the soup and discard any skin or bones that was removed from the chicken.
Add the cream to the soup when you add the chicken back into the soup. To prevent the temperature of the soup from dropping too low, I like to heat the cream in a small saucepan on the stove before I add it to the soup.
Use a spoon to mix everything in the soup together. Place the lid back on the slow cooker and let the soup cook for the remaining time.
Taste the soup once it’s done; the internal temperature of the chicken should be 165 ˚F. Add salt to the soup, if you think it requires more salt; I usually add ½ tsp of salt to the soup.
Remove the bay leaves from the soup and discard them. Serve the soup with crusty bread, if desired.