Warm olive oil and melt butter in a large, heavy-bottomed stockpot over medium heat. Add the onions and sauté until soft.
Next, add the garlic, and sauté until light brown and soft, about 2 to 3 minutes.
Add the sweet potatoes and thyme. Sauté for 3 minutes to brown and soften, then season with salt and pepper.
Stir in the stock and bring the mixture to a boil. Turn down the heat to medium-low and simmer, covered, until the sweet potatoes are tender, about 15 minutes.
Using an immersion blender (or working in batches in a blender), puree until smooth. Season with more salt and pepper.
Ladle the soup into soup bowls and top each with some green onions.