Place the beans in a large saucepan and generously cover with water. Bring to a boil. Boil about 2 minutes, then remove from heat. Allow to soak for at least 1 hour or overnight. Drain the beans, rinse thoroughly under cold water, then drain the beans again. In a 4 quart saucepan, heat the oil over moderate heat. Add onion and garlic and about 2 Tblsp. of stock, and saute about 5 minutes, until softened but not browned. Add carrots and sage and saute stirring, about 2 minutes longer. Add the soaked beans and the remaining stock and bring to a boil. Simmer the soup, partially covered and stirring occasionally, about 1 1/2 hours, until the beans are quite tender. Remove the soup from the heat. Transfer about 1 1/2 cups of the beans to a blender or food processor and puree until smooth. Add about 1/2 cup of the liquid and process to combine. Return puree to the soup and season with salt and pepper. Return the soup to the heat and simmer about 3 minutes longer. Sprinkle with fresh basil.