Put the pork shoulder, bacon, onion, garlic, paprika, bay leaf and water in a large pot. Bring just to a boil, skim any foam and lower to a gentle simmer.
Partly cover and cook for 60–80 minutes, or until a piece of pork yields to a fork. Keep the meat under liquid, adding hot water if needed.
Add the sliced chouriço and potatoes. Simmer for 12–18 minutes, until the potatoes are tender. Stir in the cooked beans and simmer for another 8–10 minutes.
For a thicker soup, mash a few beans and potatoes against the side of the pot. Remove the bay leaf. Stir in the cilantro, taste for salt and pepper and ladle into bowls.