Soak the beans overnight in a very large bowl with one of the bay leaves and plenty of cold water. Next day, drain the beans, transfer to a large pan, and cover well with fresh cold water. Bring to the boil, then reduce to a simmer for 30 minutes, until soft. While cooking, remove scum as it comes to the surface. Retain two large cups of the cooking water, drain the beans and set aside.
In a large, heavy-based saucepan, heat a good glug or two of olive oil and gently sauté the onion, carrot, celery and garlic for a good 15 minutes, until soft and glossy. Add a good pinch or two of salt, the crushed fennel seeds, the thyme and a twist of black pepper.
Now add the chopped tomatoes, the cooked beans, one of the cups of cooking water and the second bay leaf, and stir over a medium heat for about 30-45 minutes. About halfway through, submerge the chunks of stale bread in the soup and add the shredded cavolo nero. You may need to use the second cup of cooking water.
When done, your thick soup will improve vastly if you leave it overnight in the fridge and reheat it the next day (ribollito means ‘re-boiled’). Either way, remember to remove the bay leaves and finish each bowl with a twist of pepper and a drizzle of olive oil.