Peel the sweet potatoes and cut them into 1-inch (2.5 cm) cubes so they cook evenly and quickly. Dice the onion, chop the carrots, mince the garlic, and grate the ginger, keeping all pieces roughly the same size.
Warm the olive oil in your Dutch oven over medium heat until it shimmers. Add the diced onion and chopped carrots, then cook for 5 to 7 minutes, stirring now and then, until the onion turns soft and translucent. Stir in the garlic and ginger and cook for just 30 to 60 seconds, until fragrant.
Add the cumin, smoked paprika, cinnamon, and nutmeg directly to the pot and stir constantly for about 30 seconds so the spices toast in the oil and release their aroma.
Tip in the cubed sweet potatoes and stir to coat them in the spiced oil. Pour in the 4 cups (960 ml) of vegetable broth and add the salt and black pepper, then raise the heat and bring everything to a boil.
Once boiling, reduce the heat to low and cover the pot with the lid slightly ajar. Simmer for 20 to 25 minutes, until a fork slides through the largest sweet potato cube with no resistance.
Remove the pot from the heat and let it cool for a couple of minutes. Using an immersion blender, blend the soup directly in the pot until completely smooth, moving the blender around to catch every piece. Blend in a little extra broth if you prefer a looser soup.
Stir in the 1 cup (240 ml) of full-fat coconut milk and the apple cider vinegar. Warm the soup over low heat for 2 to 3 minutes, without letting it boil, then taste and adjust with more salt or a small drizzle of maple syrup if needed.
Ladle the soup into bowls while hot. Finish each bowl with a swirl of coconut milk, a scatter of toasted pumpkin seeds, and a pinch of red pepper flakes if you like heat.