In a large pot or Dutch oven, saute the onion and garlic in 1 tablespoons olive oil over medium heat until translucent, about 5 minutes.
Add the sweet potatoes, diced tomatoes, coconut milk, and stock, stirring to combine.
Cover and bring to a boil, then reduce to a simmer. Cook, covered, until the sweet potatoes are tender, about 30-35 minutes, stirring occasionally.
When the soup is done, uncover and add the peanut butter, stirring until well incorporated. Using an immersion blender, blend the stew for 10-20 seconds. Alternatively, carefully, remove 2-3 cups of the sweet potato and broth mixture to a blender. Cover, blend on high, then add back to the stew, stirring to combine. Note: Blending for just a few seconds will add a natural creaminess to the soup, while leaving the texture of some of the vegetables and sweet potatoes.
Using an immersion blender, blend the soup for 10-20 seconds. Alternatively, carefully, remove 2-3 cups of the sweet potato and broth mixture to a blender. Cover, blend on high, then add back to the soup, stirring to combine. Note: Blending for just a few seconds will add a natural creaminess to the soup, while leaving the texture of some of the vegetables and sweet potatoes.
Add the spinach and lime juice, stirring to wilt the spinach. Taste and add additional salt and lime juice if desired. Top with cilantro, peanuts and hot sauce if you like.