Melt the coconut oil in a large pot
Add the onion and saute about 10 minutes until it begins to caramelize and turn golden brown
Add the garlic, ginger, salt, and pepper. Saute for about 3 minutes until fragrant
Add the sweet potato cubes and saute for 5 minutes, stirring occasionally until they start to brown
Pour in the vegetable stock and bring to a boil
Reduce to a simmer, cover the pot and cook for about 15-20 minutes, until the sweet potato cubes are fork tender
Turn off the heat, use an immersion blender to puree until smooth. Or let cool slightly, carefully transfer to a blender and blend until smooth
Add the coconut milk, and puree and blend again until combined
Return soup to the pan and reheat if necessary