Start with the pulled pork. Preheat the oven to 150°C/300°F. Heat the oil in a large oven-proof pan on a high heat. Season the pork with the salt and pepper and place the pork in the pan. Brown on all sides (this should take about 15 minutes altogether).
Add the carrots, onion, celery, garlic and stock. Bring to the boil, then turn off the heat and place a lid on the pan. Transfer to the oven and cook for 3 ½ - 4 hours, checking 2 or 3 times during cooking. Top up with boiling water if the liquid level reduces by more than a half.
Once the pork has cooked, leave to cool. Drain the liquid, reserving the stock (discard the vegetables). Allow the stock to cool, then refrigerate. Once chilled, the fat will form a solid layer at the top. You can discard this layer of fat, or use for another dish.
Place the pork on a chopping board. Remove and discard the skin. Shred the meat using two forks, removing any excess fat that may be remaining.
Now make the soup. Heat the oil in a large pan. Add the onion and cook for 5 minutes on a medium heat until softened. Add the yellow pepper, tomato puree, chilli powder, paprika and cumin. Heat through for 3 minutes, stirring to coat the vegetables. Add the tinned tomatoes, honey and the reserved pork stock. Bring to the boil, then simmer for 15 minutes.
Add in the pinto beans, cannellini beans and the pulled pork. Heat on high for 6-7 minutes until heated through. Stir in the kale and cook for a further minute until wilted, then serve.