Chop the Vegetables: Add the celery, garlic, and carrots to a food processor. Pulse until finely chopped, but do not puree them completely.
2 celery ribs, 2 garlic cloves, ½ cup sliced carrots
Sauté the Chicken: Heat the olive oil in a large Dutch oven or heavy soup pot over medium heat. Add the chicken and cook until the outside is no longer pink.
3 tablespoons olive oil, 2 cups boneless chicken breast
Add the Vegetables: Stir the chopped celery, garlic, and carrots into the pot with the chicken. Cook for about 3 minutes, stirring often, until the vegetables start to soften.
Season the Base: Add the salt, black pepper, oregano, basil, parsley, and garlic powder. Stir well so the chicken and vegetables are evenly coated.
1 teaspoon salt, ½ teaspoon black pepper, 1 teaspoon dried oregano, 1 teaspoon dried basil, 1 teaspoon dried parsley, 1 teaspoon garlic powder
Build the Soup: Add the rinsed beans, white wine, diced tomatoes, tomato sauce, and chopped plum tomatoes. Stir everything together until well combined.
2 15.5- ounce cans cannellini beans or Great Northern beans, ½ cup white wine, 1 15.5- ounce can diced tomatoes, 1 28- ounce can tomato sauce, 3 plum tomatoes
Simmer Until Tender: Reduce the heat to low and simmer for about 45 minutes, stirring occasionally, until the chicken is fork-tender and the soup has a rich tomato flavor.
Cook the Pasta: While the soup simmers, cook the pasta in a separate pot according to the package directions until al dente. Drain well.
8 ounces ditalini
Add the Pasta: Fold the cooked pasta into the soup right before serving. This keeps the pasta from soaking up too much liquid and turning mushy.
Serve with Cheese: Ladle the soup into bowls. Top each serving with the Pecorino Romano and Parmesan blend, shredded mozzarella, red pepper flakes if using, and a drizzle of extra virgin olive oil.
½ cup grated Pecorino Romano and Parmesan cheese blend, 1 cup shredded whole milk mozzarella cheese, Red pepper flakes, Extra virgin olive oil