Heat the olive oil in a large heavy-bottomed pot over medium heat until it shimmers and begins to smell fragrant.
Add the diced onion and sauté for about 5-7 minutes, stirring occasionally, until it becomes translucent and fragrant, with a slight golden hue around the edges.
Stir in the minced garlic and cook for another 30 seconds until it releases a warm, aromatic scent, but be careful not to burn it.
Add the chopped sweet potatoes and carrots to the pot, stirring well to coat them with the fragrant base. Cook for about 5 minutes, allowing the vegetables to soften slightly and absorb the flavors.
Pour in the vegetable broth and sprinkle in the smoked paprika or chipotle powder, stirring to combine. Bring the mixture to a gentle simmer, then cover partially and cook for 20-25 minutes, until the vegetables are very tender and easily mashed with a fork.
Once the vegetables are soft, remove the pot from heat. Use an immersion blender directly in the pot or carefully transfer the mixture to a stand blender in batches. Puree until the soup is smooth and velvety, with a rich, vibrant color.
Return the smooth soup to low heat. Stir in the coconut milk or heavy cream if you desire extra creaminess, and season with salt and pepper to taste. Warm through for a few minutes, allowing flavors to meld.
Ladle the hot soup into bowls, garnishing with a drizzle of olive oil or a sprinkle of herbs if desired. Serve immediately to enjoy its bold smoky aroma and velvety texture.