In a Dutch oven, large deep skillet or soup/stew pot, over medium heat, heat the olive oil to make the soffritto by frying the finely diced onion, carrot, celery, and salt for around 5 minutes or so, stirring occasionally, until tender and fragrant.
Add the finely diced garlic into the mix, combine, continue to stir occasionally, and fry for another few minutes or so until the onion is soft and translucent and the aromas are wafting through your kitchen. If at the onion and garlic start to brown, turn the heat to low, and if needed add another tablespoon of olive oil.
Toss in the diced potato and bouquet of thyme and rosemary to the soffritto, combine, and continue to fry for a few minutes, then add the tomatoes, combine, and continue to cook, stirring occasionally, for another 5 minutes.
Add half the kale/spinach, half the whole cannellini and butter beans, bean liquid, half the bread, half a litre of stock (or water), the Parmigiano Reggiano rind, salt, pepper and paprika, stir to combine well, then leave to simmer for an hour – or two if you have time; the longer you can leave it the richer it will taste – checking on it occasionally, and gradually adding the rest of the stock (or water) as needed.
About 20 minutes before serving, add the mashed beans, remaining bread, kale/spinach and whole cannellini and butter beans, taste, and adjust the seasoning to your palate.
Ladle the soup into bowls and to each bowl drizzle a little extra virgin olive oil and sprinkle on a generous tablespoon of grated Parmigiano Reggiano.