Heat oil in a large pot over low heat. Dice the onions and add them into the oil to sweat, stirring occasionally.
Peel and seed the squash, then dice and add to the onions.
Dice the apple and add it with the garlic to the pot. Stir and cook for 2-3 minutes.
Add in 1/2 teaspoon of salt, chicken broth, coconut milk, and thyme. Bundle the thyme together so you can easily remove it later.
Stir and bring to a simmer, then cover and cook for 60-90 minutes.*
Puree the soup in a blender or food processor, working in batches if necessary. Taste and add salt to taste.
*If you don't have roasted garlic, swap in 4 cloves of finely minced garlic. *I often use chicken broth if that's what I have on hand. *Technically you can puree the soup as soon as the squash and apples are very, very soft. But I recommend the full 90 minutes for best flavor.