Heat the olive oil and butter in a large Dutch oven or soup pot over medium heat.
Add the diced onions and cook for 8-10 minutes, stirring occasionally, until softened and lightly golden
Stir in the garlic, cumin, salt, and pepper. Cook for 1 minute until fragrant
Add the cubed sweet potatoes and chicken stock, stir everything together and bring to a boil
Reduce the heat to low, cover, and simmer for 20-25 minutes, or until the sweet potatoes are fork tender
With the heat off use a potato masher and mash the potatoes in the pot or if you have one use an immersion blender to blend it smooth in the post
Stir in half of the heavy cream if the soup is warm enough you can serve it at this point if the cream cooled it off significantly you can gently warm it for 2-3 minutes over low heat
Taste and adjust the salt and pepper if needed
Ladle into bowls and garnish with the remaining heavy cream
sprinkle with optional garnishes if desired