Soak the beans in cold water to cover by 5 cm overnight (minimum
Drain the beans and place in a stockpot covered with fresh cold water by 5 cm. Add 10 grams of salt to the beans. Heat the pot over medium heat until it begins to simmer and then reduce the heat to low and cover. Let the beans cook for 1.5 to 2 hours until tender but not falling apart. Remove from the heat and let cool.
Pour 30 mls of the olive oil into another stock pot and heat over medium heat. Add the onion, carrot, 2 cloves of minced garlic, celery, ham fat and sage and cook for 10-15 minutes, stirring occasionally until the vegetables have softened and begin to sweat.
Add the water or stock to the pot. Remove a quarter of the whole beans with a slotted spoon and set aside. Place the rest of the beans and 300 mls of the cooking liquid in a food processor and blend until the beans have been pureed.
Add the bean puree to the vegetables and then add the tomato sauce, rosemary, parsley, 5 grams of salt and black pepper to taste. Bring the mixture to a boil and reduce to a simmer. Let it cook for 3 hours, stirring occasionally. During the last 20 minutes of cooking, add the whole beans and taste the soup to adjust the salt and pepper if needed.
In a frying pan, heat the remaining 30 mls of olive oil over medium heat.
When the oil is hot add the cavolo nero with its washing water still attached. If there is not enough water, add 30 mls of water to the pan and cover.
Cook for 10-15 minutes and taste to see if it is done.
Ladle the soup into the serving bowls, top with the cavolo nero, a sprinkle of spring onions, 5 grams of the grated Parmigiano-Reggiano cheese, and drizzle olive oil over the top. Serve the soup with the grilled bread.
Note: Eliminate the meat to make the dish Vegetarian.