Bring the water to a boil in a large covered pot. Add the beans, garlic, cabbage, parsley, fennel seeds, red pepper flakes, basil, and olive oil. Return to a boil, then lower the heat to medium and cook, uncovered, for 1½ hours, stirring every 5-10 minutes.
Add the potatoes, pepper, escarole and salt. Continue cooking over medium-low heat for 1 hour, stirring frequently, until the beans are soft and the broth is creamy. Taste for seasoning.