Peel and finely chop the onion, carrot and sweet potatoes. Warm a large pan over a low heat for 1 min. Add 1 tbsp olive oil and the chopped veg. Season with salt and pepper. Cover. Sweat over a low heat for 10 mins till the veg have started to soften.
While the veg sweat, peel and crush the garlic. Finely chop the coriander stalks (keep the leaves for later). Stir them both into the veg with 1 tsp smoked paprika. Add the chopped tomatoes. Fill the can with warm water (around 400ml) and add that too.
Put a lid on the pan. Turn the heat up and bring to the boil. Simmer for 20 mins till the veg are very tender. While the soup simmers, toast the peanuts in a dry frying pan for 3 mins till they're golden and toasted. Tip onto a board. Let them cool, then rub off any loose skins. Roughly chop them.
Add half the peanuts to the soup. Blitz in a blender, or use a hand-held blender in the pan, till smooth. Taste and add more salt and pepper if you think it needs it. Serve in warm bowls topped with the remaining peanuts, coriander leaves and a sprinkle of smoked paprika.