Heat olive oil in a large saucepan set over medium heat.
Add the onion and cook, stirring occasionally, until the onion just starts to soften, about 5 minutes.
Add the garlic, carrots, celery, thyme, dried chile flakes and salt. Cook until the vegetables are tender, about 5 minutes.
Stir in the tomato paste and cook for one additional minute.
Stir in the butternut squash, cauliflower, vegetable broth, water and bay leaves. Bring to a boil, then reduce to a simmer, partially cover the saucepan and cook until the squash and cauliflower are tender, 15 to 20 minutes.
Let the soup cool for 10 minutes, then transfer 3 cups of the soup to a blender. Puree until almost smooth, then stir the mixture back into the soup.
Stir in the parsley, add salt and pepper (if desired) and serve.
Notes
Please note that I am not a medical or nutritional professional. I provide nutritional information for my recipes as a courtesy to my readers. It is calculated using the LoseIt! calculator. While I attempt to provide information that is as accurate as possible, you should calculate the nutritional information independently before relying on it.