🍲 Legume, Grain and Vegetable Soup

⏱️ Prep: 20 min 🔥 Cook: 60 min 📅 Published: 25 July 2026 🔄 Updated: 16 October 2026

Guide to rustic Italian soup with legumes, grains and vegetables: a filling, fibre-rich one-pot meal, with analysis of key ingredients and variations.

Legume, Grain and Vegetable Soup

Legume, Grain and Vegetable Soup

Set the amount of ingredients you want to use with one of the two options below:
  • you can pick the number of servings with x1, x2, x3 and so on. Servings are indicative, adjust them to your preference.
  • you can set the amount of Green lentils, dried you want to use. For example, if you want to use 340 grams, type 340 in the box below.
Quantity
Green lentils, dried (min g, max g): g

1. Composition and Proportions

In Italy there are countless variations of rustic soup, linked to regional traditions, seasonal ingredient availability and personal taste. For this guide we will use the following reference proportions:

  • Legumes 16-22%: red and green lentils, borlotti beans, cannellini beans (variable proportion)
  • Vegetables 13-16%: carrots, celery, onions, spinach
  • Grains 6-7%: pearled barley, pearled spelt
  • Extra-virgin olive oil 0.7-2%
  • Salt

The legume:grain:vegetable ratio is approximately 3:1:2. Changing these proportions radically alters the soup's character:

  • Legumes:Grains:Vegetables 3:1:2 (this guide): legumes dominate with their creaminess and protein content; grains provide structure and chew without weighing the dish down; vegetables balance with freshness and acidity. Result: dense, filling soup with a "legume-forward" identity. This is the most common ratio in traditional Tuscan and Umbrian soups.
  • 3:2:2 (more grains): the soup becomes starchier and more full-bodied, almost a soft polenta. The grains release more starch and absorb more liquid; the dish is very filling and heavier, with a more "pasty" texture. Suited to those who want a very substantial winter one-pot meal (similar to a thick pasta e fagioli).
  • 1:1:2 (equal legumes and grains, more vegetables): the balance shifts towards an enriched vegetable soup. Vegetables dominate the flavour, legumes contribute protein without becoming cloying, grains add structure without over-filling. A lighter, more digestible result, suited to spring/summer or those who prefer a less dense dish.
  • 1:1:1 (equal proportions): the result is a balanced minestrone without a dominant ingredient. No single flavour prevails; the soup has medium body and good textural variety. It works well but lacks the assertive "character" of the legume-dominant version. This is the typical proportion of northern Italian grain minestrone.

Homemade preparation allows you to choose the ratio freely and to use more noble fats (raw extra-virgin olive oil) and fresh aromatics, yielding a result superior to any packaged product.

Note on raw vs. cooked weights: the 3:1:2 ratio refers to the finished dish (weight after cooking), not to the raw ingredient weights you put in the pot. Dried legumes double in weight during cooking (330 g dry → ~660 g cooked); dried grains absorb 2-2.5× their weight (100 g dry → ~250 g cooked); fresh vegetables lose ~25% of their water (580 g raw → ~430 g cooked). The ratio after cooking therefore becomes approximately 660:250:430 ≈ 3:1:2.

2. Ingredients

Legumes (ESSENTIAL)

IngredientQuantityNotes
Green lentils, dried70 gHold their shape, al dente texture
Red lentils, hulled70 gBreak down and thicken the broth (essential for creaminess)
Borlotti beans, dried70 gRicher flavour, savoury skin
Cannellini beans, dried70 gMilder, creamy texture
Chickpeas, dried50 gOptional but add complexity

Grains (ESSENTIAL)

IngredientQuantityNotes
Pearled spelt50 gAl dente texture, nutty flavour. Essential.
Pearled barley50 gReleases starch, gives body to the broth. Essential.

Vegetables — Soffritto (ESSENTIAL)

IngredientQuantityNotes
Carrots1 medium (80 g)Background sweetness. Essential.
Celery1 stalk (50 g)Vegetal notes, complexity. Essential.
Yellow onion½ medium (60 g)Aromatic base. Essential.
Garlic1 cloveOptional, but adds depth

Vegetables — Body (OPTIONAL but recommended)

IngredientQuantityNotes
Fresh spinach (or chard)130 gAdd in the last 5 min. Colour and iron.
Yellow-fleshed potatoes130 gBody and creaminess. Diced 1.5 cm.
Tinned peeled tomatoes (or passata)130 gAcidity and colour. Optional; the soup works "white" too.

Liquids, Seasonings, Aromatics

IngredientQuantityRole
Water or vegetable stock1.5-2 LStock adds more flavour; water works fine too.
Extra-virgin olive oil (soffritto)40 mlExtracts fat-soluble aromas from the soffritto.
Extra-virgin olive oil (to finish)30 mlFragrance and cold-pressed fats in the finished dish.
Fine salt~8 g (adjust)Only at the end of cooking (salt toughens legume skins).
Freshly ground black pepperto tasteOptional.
Rosemary1 sprigDominant aroma in Italian soups.
Bay leaves2 leavesRecommended. Reduces flatulence and adds depth.
Fresh parsley1 bunchOptional. Freshness at end of cooking.
Parmesan rind1 piece (~30 g)Optional. Adds umami and body.
Grated Parmesanto tasteOptional. For serving, as desired.

3. Method

  1. Soaking (the night before, 8-12 h). Soak separately in plenty of cold water: 70 g borlotti beans, 70 g cannellini beans and 50 g chickpeas. Lentils (green and red) and pearled grains do NOT require soaking. Soaking reduces cooking time by 40-50% and activates enzymes that break down the oligosaccharides responsible for flatulence. Essential step: without soaking, beans remain hard even after 2 hours.
  2. Rinse and drain. The next day, discard the soaking water (it contains phytic acid and indigestible oligosaccharides) and rinse the legumes well under running water.
  3. Pre-cook beans and chickpeas (30 min). In a large pot, cover the beans and chickpeas with fresh cold water (1:3 ratio by volume). Bring to the boil, skim, add 2 bay leaves and cook on low heat for 30 minutes. Do not salt. Essential step: beans and chickpeas have longer cooking times than lentils; this pre-cook evens out the timing.
  4. The bean soaking water is discarded, but the broth obtained from pre-cooking is excellent and is used later for the soup
    The bean soaking water is discarded, but the broth obtained from pre-cooking is excellent and is used later for the soup
    While the beans are pre-cooking, I get ahead with the cuts: potatoes are optional, but being rich in starch, if added during the first half of cooking, they give excellent flavor and creaminess
    While the beans are pre-cooking, I get ahead with the cuts: potatoes are optional, but being rich in starch, if added during the first half of cooking, they give excellent flavor and creaminess
  5. Soffritto (5-7 min). In a wide, heavy pot (ideal: cast iron or thick steel), heat 40 ml extra-virgin olive oil over medium heat. Add 1 medium carrot (80 g), 1 celery stalk (50 g) and ½ medium yellow onion (60 g) diced to ~5 mm. Sweat for 5-7 minutes, stirring regularly, until the onion is translucent and the celery soft. Add 1 garlic clove finely minced in the last minute. Essential step: the soffritto is the aromatic foundation of the soup. Small, uniform cuts ensure even cooking and maximum aroma extraction.
  6. Here we are at the beginning. I like a nice dry and compact sauté, with onions well translucent
    Here we are at the beginning. I like a nice dry and compact sauté, with onions well translucent
    Optional: a bit of dry tomato paste, helps develop umami. Using a non-stick-free pan, when it starts to stick to the bottom and you smell a good aroma, like hazelnut / caramel, that's the moment it develops flavor, which will then be given to the soup
    Optional: a bit of dry tomato paste, helps develop umami. Using a non-stick-free pan, when it starts to stick to the bottom and you smell a good aroma, like hazelnut / caramel, that's the moment it develops flavor, which will then be given to the soup
    It would already be good like this: carrot onion, celery and tomato :) At this point the garlic is no longer noticeable
    It would already be good like this: carrot onion, celery and tomato :) At this point the garlic is no longer noticeable
  7. Toast the grains (2 min). Add 50 g pearled spelt and 50 g pearled barley to the soffritto. Stir for 2 minutes over medium heat: toasting seals the surface starch, keeps the grains al dente and develops nutty notes (Maillard reaction). Recommended but not strictly mandatory.
  8. Deglaze and tomato (2 min). If using, add 130 g tinned peeled tomatoes (or passata) now, crushing with a wooden spoon. Cook for 2 minutes to concentrate and reduce raw acidity. Optional: the "white" version without tomato is equally valid.
  9. Combine legumes, liquid and aromatics. Pour the pre-cooked beans and chickpeas with their cooking water into the pot, add 70 g green lentils (raw, rinsed), 1 sprig of rosemary tied into a bundle (for easy removal) and, if using, ~30 g Parmesan rind. Add about 1.5-2 L hot water or stock until the liquid sits 3-4 cm above the solids.
  10. You have no idea about the aroma...
    You have no idea about the aroma...
  11. Main cooking (40-50 min on low heat). Bring to the boil, reduce to minimum, cover with the lid slightly ajar (to prevent foam overflow). Cook for 40-50 minutes, stirring every 10 minutes with a wooden spoon (legumes tend to stick to the bottom). Grains and green lentils will be done after 30-35 min; beans must be completely tender in the centre. If the liquid reduces too much, add hot water (never cold; it would halt cooking). Essential step: low, constant heat. Vigorous boiling splits the legumes and makes the soup cloudy.
  12. Add red lentils and potatoes (last 15 min). Add 70 g hulled red lentils: they cook in 12-15 min and disintegrate, exactly what you want, as they thicken the broth and create creaminess without needing to blend. Add 130 g yellow-fleshed potatoes, diced, too if using. Timing is essential: too early turns them to mush; too late they stay raw.
  13. Spinach and salt (last 5 min). Add 130 g fresh spinach, washed and roughly torn. Salt only now with ~8 g fine salt (adjust to taste). Essential: salt added earlier toughens bean skins and can extend cooking by up to 30 minutes.
  14. Addition of the
    Addition of the "greens". Here I used spinach and turnip greens; I had leftovers and needed to finish them :)
    It's only 150g of
    It's only 150g of "greens" but after a brief stir, they already give excellent color and freshness to the soup
  15. Rest (10-15 min off the heat). Turn off, remove rosemary, bay leaves and Parmesan rind. Cover and rest for 10-15 minutes. Like all legume and grain dishes, the soup improves markedly after resting: starches settle, flavours meld, consistency becomes silkier. Highly recommended step. The soup is even better the next day.
  16. And here it is, reduced but not too much. Tomorrow that little residual broth will be absorbed, giving the soup a nice thick consistency
    And here it is, reduced but not too much. Tomorrow that little residual broth will be absorbed, giving the soup a nice thick consistency
  17. Serve. Ladle into bowls, finish with a generous drizzle of 30 ml raw extra-virgin olive oil, freshly ground black pepper to taste and, if desired, chopped parsley and grated Parmesan to taste. Serve with garlic-rubbed toast (optional).
  18. it's not the prettiest dish, but it's absolutely delicious. here served with an oven-warmed nuvola focaccina
    it's not the prettiest dish, but it's absolutely delicious. here served with an oven-warmed nuvola focaccina

4. Storage

Allow the soup to cool completely at room temperature before transferring it to the refrigerator or freezer (do not seal the container while it is still warm: trapped steam encourages condensation and mould growth).

  • Room temperature: not recommended beyond 2 hours. The soup contains legumes, cooked grains and low-acid vegetables: at room temperature it is a favourable environment for bacterial growth (microbiological risk). After 2 hours, the contamination risk outweighs the practical benefit of leaving it out.
  • Refrigerator: 3-4 days in an airtight container. The soup thickens considerably in the fridge, as the grains keep absorbing liquid; to restore the original consistency, reheat while adding a little water or stock.
  • Freezer: possible for 2-3 months in an airtight container or freezer bag. Grain texture suffers slightly (it becomes softer after thawing), but the flavour stays the same. Thaw in the refrigerator overnight before reheating.

5. Steps and Ingredients: Essential vs. Optional

ElementImportanceReason
Soaking beans/chickpeas⭐⭐⭐ ESSENTIALWithout soaking they stay hard. No shortcut works as well.
Mix of at least 2 types of legumes⭐⭐⭐ ESSENTIALVariety provides textural and flavour complexity. A single legume makes the soup monotonous.
Red lentils (added at the end)⭐⭐⭐ ESSENTIALThey disintegrate and create creaminess without blending. The "trick" for consistency.
Soffritto (carrot+celery+onion)⭐⭐⭐ ESSENTIALIrreplaceable aromatic base. Without soffritto the soup tastes like "water with legumes".
Extra-virgin olive oil (in cooking and raw)⭐⭐⭐ ESSENTIALExtracts aromas, imparts roundness. The final raw drizzle is the dish's signature.
Rosemary⭐⭐⭐ ESSENTIALDominant aroma in Italian legume soup. Sage or thyme do not give the same result.
Low, constant heat⭐⭐⭐ ESSENTIALVigorous boiling splits legumes and creates a cloudy, unappealing soup.
Salt ONLY at the end⭐⭐⭐ ESSENTIALSalt toughens legume skins. Salting early extends cooking time by up to 30 min.
Grains (spelt/barley)⭐⭐ VERY IMPORTANTProvide body, satiety and texture. Can be omitted but the dish loses character.
Rest 10-15 min before serving⭐⭐ VERY IMPORTANTFlavours meld, starch settles. Noticeable difference.
Bay leaves⭐⭐ RECOMMENDEDAromatic depth and flatulence reduction. Not indispensable.
Parmesan rind⭐⭐ RECOMMENDEDExtraordinary umami. If unavailable, the soup is still good.
Tomatoes/passata⭐ OPTIONALAdd colour and acidity. The white version is equally valid.
Potatoes⭐ OPTIONALAdditional body. With red lentils the creaminess is already there.
Spinach⭐ OPTIONALColour and nutrients. Replaceable with chard, black kale, or omittable.
Garlic⭐ OPTIONALDepth, but not traditional in all regional variants.
Grain toasting⭐ OPTIONALImproves texture but not indispensable.
Black pepper (freshly ground, at end of cooking)⭐ OPTIONAL but recommendedLight heat and aromatic complexity. Add only at end of cooking or in the bowl: long cooking degrades piperine and turns bitter.

6. Seasonal Variations and Substitutions

Legumes: equivalent substitutions

IngredientSubstitutionNotes
Borlotti beansRed kidney beans, red azuki, black-eyed peasSame cooking times. Kidney beans are more starchy.
Cannellini beansButter beans, navy beans (small white)Butter beans are larger; cut down to size.
ChickpeasDried split fava beansFava beans cook faster; add 15 min later.
Green lentilsPuy lentils (French), black lentils (beluga)All hold their shape well. Beluga are smaller.
Red lentilsYellow hulled lentils, yellow split peasSame thickening function. Split peas need 5 min more.

Grains: equivalent substitutions

IngredientSubstitutionNotes
Pearled speltSemi-pearled spelt (+15 min), buckwheat, freekehBuckwheat is gluten-free and softer.
Pearled barleyBrown rice (+10 min), hulled oats, milletMillet disintegrates easily; watch the timing.
BothShort pasta (ditalini, tubetti) added 10 min before the end"Pasta e fagioli" version. Changes the dish's character.

Vegetables: seasonal variations

SeasonRecommended vegetablesNotes
Autumn/WinterBlack kale, Savoy cabbage, diced squash, chardSquash sweetens; black kale adds interesting bitterness.
SpringFresh peas, shelled fresh fava beans, asparagus, baby spinachAdd in the last 5 minutes to preserve colour and freshness.
SummerCourgettes, cherry tomatoes, green beansLighter version; can be served lukewarm with fresh basil.
Year-roundCarrots, celery, onion, potatoes, frozen spinachThe soffritto base always works. Frozen spinach is a good substitute.

Spices and Herbs: flavour combinations by style

Spice/HerbTraditionImpact on the dishWhen to add
Black pepper (freshly ground)All ItalyLight heat, aromatic complexity. Balances the starchy sweetness of legumes.At end of cooking or directly in the bowl. Never during long cooking (turns bitter).
SageTuscany, UmbriaBitter/herbal, classic with beans. Can replace rosemary in the Tuscan tradition.With the soffritto (5-7 min cooking). Remove before serving.
Smoked paprikaIberia (not Italian, but very effective)Smoky depth, red colour. A pinch transforms the soup.At end of cooking, ½-1 teaspoon.
CuminNorth Africa, Middle EastEarthy, warm. Classic with lentils and chickpeas. Shifts the profile towards "dal" or Middle Eastern.Toasted in the soffritto (30 seconds; careful not to burn).
TurmericIndia, fusionGolden colour, delicate flavour, traditionally associated with anti-inflammatory properties. In small doses it barely changes the taste.With the liquids, at the start of cooking.
Fresh gingerAsia, fusionSpicy/fresh, pairs well with red lentils. Shifts the profile towards "Indian soup".Grated with the soffritto.
NutmegEmilia-RomagnaWarm, sweet-spiced. A tiny grating adds depth without being identifiable.At end of cooking, grated directly into the bowl.
MarjoramCentral-Southern ItalySimilar to oregano but sweeter and more delicate. Works well with chickpeas and lentils.With the soffritto or at end of cooking.
ThymeProvence, Northern ItalyHerbal, earthy. Good substitute or complement for rosemary.With the herb bundle (start of cooking).
Chilli (whole or in pieces)Southern ItalyWarm heat without dominating. Depth if used whole and removed halfway.With the soffritto. Remove halfway through to control the heat.
StyleHerbs/SpicesNotes
Classic ItalianRosemary + bay leaf ± sageNo exotic spices. The most traditional profile.
Tuscan/ribollitaSage + garlic + black pepper (no rosemary)Sage is the dominant herb in Tuscany.
Spiced MediterraneanRosemary + smoked paprika + chilliMore complex, with warmth and smokiness.
Oriental/fusionCumin + turmeric + ginger + corianderCompletely changes the dish's identity.
Delicate NorthernThyme + nutmeg + white pepperMore subtle and refined profile.

7. Technical Notes and Tips

  1. Why mix different legumes? Each legume has a different amino acid profile; the combination provides a more complete protein intake. Moreover, different textures (creamy, al dente, starchy) make every spoonful interesting.
  2. The role of red lentils as a natural thickener. The exposed starch from hulled lentils gels in the broth and creates a velvety consistency without needing to blend part of the soup (another valid technique, but less elegant).
  3. Heavy pot. A thick-bottomed pot (cast iron, multi-ply steel) distributes heat evenly and prevents legumes from sticking and burning on the bottom. With thin pots you need to stir much more frequently.
  4. Liquid-to-solid ratio. Start with 3-4 cm of liquid above the solids. The soup should have a dense but spoonable consistency; not brothy. If too thick at the end, add hot water; if too liquid, cook 5 min uncovered.
  5. Bicarbonate in the soak? A pinch of bicarbonate (1 g per litre of water) in the soak softens skins and further reduces times. Do not overdo it: too much gives a soapy taste and significantly reduces vitamin B1.
  6. Tinned legumes as a shortcut. Tinned legumes can be used (rinse well to remove salt and oligosaccharides from the canning liquid). In this case skip steps 1-3 and add legumes directly at step 7. The soup will be ready in 30 minutes total. Quality is lower than well-soaked dried legumes (less defined texture, less deep flavour) but the result is still valid.
  7. Chilli. A whole or half chilli (fresh or dried) added to the soffritto provides warmth without dominating. Remove it halfway through cooking to control the heat level.
  8. Pressure cooker. Possible: after the soffritto and adding legumes/grains/liquid, cook 20-25 minutes from the whistle on low heat. Add red lentils and spinach after opening the cooker, cooking another 10 min without pressure. The result is good but texture is less defined compared to traditional slow cooking.
  9. Bread accompaniment. Toasted bread (or garlic-rubbed croutons dressed with extra-virgin olive oil) is the traditional complement. Stale bread is ideal as it absorbs the broth without falling apart. In Tuscany, a slice of Tuscan bread (salt-free) is placed directly at the bottom of the bowl, with soup poured over it (ribollita-style). For ideas, try using Revzora, cloud focaccine, or even the dough from the crispy pizza (the latter made as a focaccia, i.e. with nothing on top, just oil/brine and rosemary).

🌐 This recipe in other languages:

Italiano Español Français