Heat 2 tablespoons of olive oil in a large pot over medium heat. Add your diced onion and cook for about 3-4 minutes until it softens and turns translucent. You'll hear it sizzle when the onion hits the hot oil—that's exactly what you want.
Stir in the minced garlic and fresh ginger, cooking for just 1 minute until fragrant. Don't skip this part because it wakes up all those flavors. The kitchen'll smell amazing at this point, trust me.
Add your cubed sweet potatoes and stir everything together for 2 minutes. Pour in the 4 cups of vegetable broth and bring the whole pot to a gentle boil over medium-high heat. This usually takes about 5-6 minutes, and you'll notice the broth turning slightly golden from the potatoes.
Reduce the heat to medium and add your ground cumin, coriander, and turmeric now. Let it simmer for about 20-25 minutes until the sweet potatoes are fork-tender and basically falling apart. Mine always gets a little bit watery-looking at first, but that's totally normal—it thickens up fast.
Once the potatoes are super soft, carefully pour in the full-fat coconut milk and stir it all together. Add your salt and black pepper, tasting as you go because everyone's broth tastes slightly different. I personally think this tastes better when you adjust the seasoning right before the next step.
Here's where your blender becomes your best friend: blend the entire soup in batches until it's completely smooth and creamy. Work in smaller batches so hot liquid doesn't splash everywhere—I learned that the hard way. If you've got an immersion blender, use that directly in the pot and save yourself the cleanup.
Pour everything back into the pot if you used a blender, then gently warm it through on low heat for 2-3 minutes. Ladle the sweet potato soup recipe into bowls and top with fresh cilantro for that pop of green and bright flavor. Serve immediately while it's steaming hot and that silky texture is at its peak.