Coat the bottom of a large pot with the oil and place it over medium heat. Once the oil is hot, add the onion, carrots, and celery. Sweat the vegetables for about 10 minutes, until they start to soften, stirring occasionally.
Add the garlic and cook it with the vegetables for about 1 minute, until it becomes very fragrant.
Stir in the wine and bring it to a simmer. Allow the wine to simmer for about 4 minutes, until reduced by about half.
Stir in the broth, squash, cannellini beans, rosemary, and thyme. Raise the heat and bring the soup to a boil. Lower the heat and allow the soup to boil for about 20 minutes, stirring occasionally, until the vegetables are very tender. Remove the pot from heat. Remove the rosemary sprig and discard it.
Blend the soup either using an immersion blender or by carefully transferring it in batches to a blender, then returning it to the pot.
Season the soup with salt and pepper to taste. You can also thin it with some water if you'd like, and adjust any other seasonings to suit your taste.
Ladle the soup into bowls and optionally top each one with vegan sour cream, cashew cream, or a drizzle of coconut milk.