Heat the olive oil in a large pot over medium heat. Add the sliced chicken sausage and cook until it begins to brown, about 4 minutes. This browning adds a little depth to the flavor.
Remove the sausage from the pot and set it aside for a moment. In the same pot, add the onion, celery, and carrot. Sauté until the vegetables soften and the onion is translucent, about 5 minutes.
Stir in the garlic and cook for another 30 seconds until fragrant. If you like a little extra aroma, you can add a pinch of red pepper flakes here.
Return the sausage to the pot. Add the cannellini beans, tomatoes (if using), thyme, and bay leaf. Pour in the chicken stock and bring the mixture to a gentle simmer.
Simmer for 12–15 minutes, letting the flavors mingle. If the soup looks a little thick, add a splash more stock or water to reach your preferred consistency.
Taste and season with salt and pepper. If you’re using greens, stir them in now and cook until wilted, about 2 minutes.
Remove the bay leaf. Serve hot, with crusty bread or a sprinkle of Parmesan if you like a little extra savor.