How to Make It
In a saucepan, cover the beans and halved onion with water and bring to a boil. Simmer over moderate heat until tender, about 1 hour. Remove from the heat, add a generous pinch of salt and let stand for 10 minutes. Drain the beans and spread them on a baking sheet to cool slightly; discard the onion.
Meanwhile, in a large skillet, heat the oil. Add the guanciale and cook over moderately high heat, stirring, until translucent and the fat is just rendered, 5 minutes. Add the chopped onion, garlic and chiles and cook over moderate heat, stirring, until the onion is softened and just starting to brown, 8 minutes. Stir in the rosemary and sage and cook until fragrant, 1 minute. Add the tomatoes with their juices and bring just to a simmer.
Add the beans to the skillet and cook over moderate heat, stirring, until coated in a light sauce, about 7 minutes. Stir in the marjoram, season with salt and pepper and serve.