Heat olive oil in a stockpot over medium heat. Add onion and sauté until translucent and starting to brown. Add garlic and cook until fragrant.
Add diced tomatoes and stock. Bring to a gentle simmer and cook for 10-15 minutes.
Stir in peanut butter, salt, and black pepper.
With an immersion blender, roughly blend soup. Alternatively, transfer soup to a blender and slowly blend with a kitchen towel over the lid to avoid splatters.
To serve, ladle soup into serving bowls and garnish with peanuts, scallions, and cilantro.