Precook the beans: Place the beans in a saucepan and add cold water to cover by 2 inches. Bring to a boil, cover, and remove from the heat. Let stand for 1 hour, then drain.
Return the beans to the saucepan add the onion, celery, carrot,garlic,and bay leaf. Add water to cover by 2 inches.
Slowly bring to a simmer over moderately low heat. (If you heat them too fast, the skins may break.) Adjust the heat to maintain a bare simmer and cook, uncovered, until the beans are almost tender, 20 minutes or longer, depending on the age of the beans. Add salt to taste and continue cooking until the beans are tender but not mushy.
Remove from the heat and let cool in the liquid. (You can prepare the beans to this point 1 to 2 days ahead; cover and refrigerate.).
Preheat the oven to 400ºF.
Drain the beans and discard the vegetables but reserve the liquid.
In a casserole that can go from the stove top to the oven, combine the beans, 1 1/2 cups of the bean liquid, the tomato puree, garlic, sage, and 3 tablespoons of the olive oil. Season with salt and pepper.
Bring to a simmer on top of the stove,then transfer to the oven and bake,uncovered,at a gentle simmer until the beans have absorbed the liquid,45 minutes or more.
Remove from the oven and let rest for 15 to 20 minutes, then stir in the remaining 1 tablespoon olive oil, taste for seasoning, and serve.