Heat oil in a large pot over medium-high heat. Add carrot; cook, stirring often, until softened, about 2 minutes. Add cabbage and leek; cook, stirring often, until softened, about 4 minutes. Add garlic; cook, stirring constantly, until fragrant, about 1 minute. Add broth, beans and salt; increase heat to medium-high and bring to a boil.
Reduce heat to medium and stir in chicken. Simmer, covered, until the cabbage is tender and an instant-read thermometer inserted in the thickest part of the chicken registers 165°F, about 8 minutes. Remove from heat and stir in vinegar. Ladle into 6 bowls; top each with 1 tablespoon pesto.
