From the Veganomicon. I'm not normally a bean purist, but this turns out much better if you don't substitute the dried beans for canned. Just try to soak the beans overnight or while you're at work during the day.
Drain and rinse beans. Add to stockpot with 4 c cold water. Bring to a boil and simmer for 3 minutes. Skim off any white foam from the top. Cover the pot and lower the heat to medium. Add the onion, celery, carrot, thyme and tarragon. Simmer for about 45 minutes.
Remove the carrot, onion and celery (either discard or use in a stock). Lower the heat to low and continue to simmer. The beans should resemble a thick stew, if there's too much liquid, leave the pot uncovered and stir occasionally.
About 10 minutes before the beans are done, place the garlic and 2 T oil in a cold skillet. Heat the skillet over medium heat, allowing the garlic to sizzle for about 30 seconds. Add the chopped leeks and saute 1-2 minutes. Scrape the leeks into the beans.
Add the remaining 2 T oil, allow to warm, and add the mushrooms. Sprinkle the mushrooms lightly with 1/2 t salt and saute until most of the mushroom liquid has evaporated, anywhere from 8-12 minutes depending on the types of mushrooms. Add the mushrooms to the beans.
Turn off the heat and season the beans with the remaining salt and pepper.
Preheat oven to 350.
Make the sage bread crumbs: Melt the margarine in a large, heavy skillet over medium heat. Stir in the bread crumbs, walnuts, sage, oregano, and paprika, and season with salt and pepper. Stir constantly until the mixture is lightly coated, 3-4 minute Remove from the heat.
Pour the beans into a casserole dish. Top with the sage bread crumbs. Bake for 20-25 minutes, until the bread crumbs are golden and the beans are bubbling.