In a large pot, warm the olive oil over medium heat. Add the onion and carrot and cook for 3 minutes. Stir in the cubed butternut squash (if using), potato and garlic then cook for another 2 minutes.
Pour in the milk then bring to a boil. Reduced to a simmer, cover with a lid and allow to cook at a low boil for about 10-15 minutes, until the squash and potato are very tender. You should be able to mash it with a fork. Once it’s done, set the pot aside and allow to cool.
After the squash mixture has cooled, transfer it to a blender and add in the remaining ingredients. Blend on high until smooth. Add more milk, one tablespoon at a time, if needed. Taste test to see if you prefer more salt or seasoning and add as needed.
Stir in the green chilis by hand, if using, then pour into a bowl for serving. Garnish with chilis, diced tomato and/or cilantro. Store leftovers in an airtight container for up to 3 days.