In a large pot, melt the butter with the oil over moderate heat. Add the onion and cook, stirring occasionally, until golden, about 5 minutes. Add the garlic, carrots, celery, and potatoes and cook, stirring occasionally, for 5 minutes. Add the zucchini and cabbage and cook, stirring occasionally, for 5 minutes longer.
Add the broth, beans, tomato paste, and salt and bring to a simmer. Simmer, partially covered, until the vegetables are tender, about 18 minutes. Add the sole, pesto, and pepper and bring back to a simmer. Cook, uncovered, until the fish is just done, about 1 to 2 minutes more. To serve, ladle into bowls and pass more pesto if you like.
Fish Alternatives: You can use any other member of the flounder family, such as sand dab or fluke, in place of the sole. Or try a firmer, white fish, such as cod, halibut, or monkfish. For these thicker fish, add another minute to the cooking time.
Wine Recommendation: A light Italian white wine will be delightful with the vegetables and pesto. Look for the most recent vintage of a pinot grigio from the northern Alto Adige region.