Ingredients:

  • 1 tablespoon olive oil, extra virgin (15 ml)
  • 1 medium yellow onion, finely chopped (about 1 cup) (150g)
  • 2 carrots, peeled and diced (about 1 cup) (120g)
  • 2 celery stalks, diced (about 1 cup) (110g)
  • 2 cloves garlic, minced (about 2 teaspoons) (6g)
  • 1 teaspoon dried oregano (2g)
  • 1/2 teaspoon dried basil (1g)
  • 1/4 teaspoon red pepper flakes (optional) (0.5g)
  • 8 cups low-sodium chicken broth (or vegetable broth for a vegetarian version) (1.9L)
  • 1 (14.5 ounce) can diced tomatoes, undrained (411g)
  • 1 (15 ounce) can cannellini beans, rinsed and drained (425g)
  • 1 (15 ounce) can kidney beans, rinsed and drained (425g)
  • 1/2 cup tomato paste (120ml)
  • 1 cup small pasta shapes (ditalini, elbow macaroni, or small shells) (100g)
  • Salt and freshly ground black pepper to taste
  • Fresh parsley, chopped, for garnish
  • Grated Parmesan cheese, for serving (optional)

Instructions:

  1. Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery and sauté until softened, about 5-7 minutes. Add garlic, oregano, basil, and red pepper flakes (if using) and cook for another minute until fragrant.
  2. Stir in diced tomatoes, tomato paste, cannellini beans, kidney beans, and chicken broth. Bring to a boil, then reduce heat and simmer for at least 20 minutes to allow the flavors to meld.
  3. Add pasta to the soup and cook according to package directions, usually about 8-10 minutes, or until al dente. Stir occasionally to prevent sticking.
  4. Season with salt and pepper to taste. Ladle soup into bowls and garnish with fresh parsley and grated Parmesan cheese, if desired. Serve hot.