Warm the pot: Heat olive oil in a large soup pot over medium heat.
Add onion, carrots, and celery. Cook 5–7 minutes, stirring, until softened and fragrant.
Add aromatics and quick-cook veg: Stir in garlic, zucchini, green beans, and red bell pepper. Cook 2–3 minutes until the garlic smells toasty, not sharp.
Build flavor: Add tomato paste and cook 1–2 minutes, stirring, to caramelize it slightly.
Sprinkle in oregano, basil, thyme, and the bay leaf.
Simmer the base: Pour in diced tomatoes and vegetable broth. Bring to a boil, then lower to a steady simmer. Cook 10 minutes to let the flavors meld.
Add beans and pasta: Stir in cannellini beans, kidney beans, and pasta.
Simmer until the pasta is al dente, about 8–10 minutes. Stir occasionally so nothing sticks.
Finish with greens: Add chopped kale, spinach, or chard. Cook 2–3 minutes until wilted and tender.
Season smart: Remove the bay leaf.
Taste and add salt and pepper. Stir in lemon juice or vinegar for brightness. Adjust to your liking.
Serve: Ladle into bowls and top with parsley or basil.
Add a sprinkle of Parmesan if you like.