Soak the beans overnight in plenty of water. Drain, rinse, then place in a pan covered with water. Bring to the boil, reduce the heat, then simmer for 1-2 hours until beans are tender but not soft and mushy. Drain, then set aside.
Heat oven to 350F. Heat the olive oil in a large dutch oven, sauté the onion and garlic, then cook over a medium heat for 10 mins until softened but not browned. Add the chopped tomato or tomato sauce, cook for a another minute, add pepper and salt to taste, then simmer for 2-3 mins. Stir in the beans.
Place the pan in the preheated oven and bake for approximately 1 hr, uncovered and without stirring, until the beans are tender, about 40 minutes. The beans will absorb all the fabulous flavours and the sauce will thicken. Allow to cool, then scatter with parsley and drizzle with a little more olive oil if desired and freshly ground black pepper to serve.