Ingredients:

  • 2 tbsp extra-virgin olive oil (30 ml)
  • 4 oz pancetta or bacon, diced (optional) (115 g)
  • 1 medium yellow onion, finely diced (about 1 cup) (150 g)
  • 2 medium carrots, peeled and diced (about 1 cup) (120 g)
  • 2 celery stalks, diced (about 1 cup) (100 g)
  • 4 garlic cloves, thinly sliced or minced (12–15 g)
  • 2 tbsp tomato paste (30 g)
  • 1 (14 oz) can crushed tomatoes or 1½ cups crushed fresh tomatoes (400 g)
  • 4 cups low-sodium chicken or vegetable stock (950 ml)
  • 1 bay leaf
  • 2 (15 oz) cans cannellini beans, drained and rinsed (2 × 425 g cans) OR 2½ cups cooked cannellini (about 450 g cooked)
  • 1 cup small dried pasta (e.g., ditalini, small shells, elbow) (100 g)
  • 1 tsp dried oregano or 1 tbsp fresh chopped oregano (1–3 g)
  • 1 tsp dried thyme or 1 tbsp fresh thyme leaves (1–3 g)
  • 1 tsp red pepper flakes (optional) (2 g)
  • Salt and freshly ground black pepper, to taste
  • 2 tbsp fresh parsley, chopped (8 g)
  • Freshly grated Parmesan or Pecorino Romano, for serving (optional) (to taste)
  • Extra-virgin olive oil for finishing (optional)

Instructions:

  1. Prepare ingredients: dice onion, carrot and celery; mince garlic; drain and rinse canned beans (reserve 1/4 cup canning liquid if desired); measure pasta and stock.
  2. Render pancetta (if using): heat olive oil in a heavy-bottomed pot or Dutch oven over medium heat; add pancetta and cook 3–5 minutes until fat renders and edges brown; remove some crisp bits for garnish if desired.
  3. Sauté aromatics: add onion, carrot and celery to the pot and cook 5–7 minutes until softened and translucent; add garlic and cook 30–60 seconds until fragrant.
  4. Build the base: stir in tomato paste and cook 1–2 minutes to deepen flavor; add crushed tomatoes and bay leaf and stir to combine.
  5. Add stock and beans, simmer: pour in stock and bring to a gentle simmer; add drained beans, oregano, thyme and red pepper flakes (if using); simmer uncovered 15–20 minutes to meld flavors and soften vegetables.
  6. Thicken (optional): for a creamier texture, blitz about one-quarter to one-third of the soup with an immersion blender or mash some beans with a potato masher right in the pot; this thickens the broth naturally.
  7. Cook the pasta: return soup to a simmer and add the pasta; cook until al dente (usually 6–10 minutes), stirring occasionally to prevent sticking; test for a slight bite.
  8. Finish and season: remove bay leaf, taste and adjust salt and pepper; add reserved bean liquid or extra stock if too thick; stir in chopped parsley and a drizzle of olive oil.
  9. Serve: ladle into bowls and top with grated Parmesan or Pecorino and reserved pancetta crisps if desired; serve with crusty bread.