Minestrone is a thick Italian vegetable soup built on whatever is in season, thickened with beans and usually finished with a small pasta or rice. It is a thick vegetable soup of Italian origin, traditionally made without meat, though it has no precise recipe and can be made with many different ingredients. The name itself comes from the kitchen rather than a single dish: it comes from the Italian minestrone, the augmentative form of minestra, meaning soup, from minestrare, “to serve”.
Its roots sit in cucina povera, the resourceful cooking of Italian households who turned leftover vegetables into a filling meal rather than waste them. It has a history rooted in cucina povera, the humble, ingenious way of cooking that makes the most of simple, affordable ingredients. Because the recipe was never fixed, it still shifts from region to region: in northern Italy the soup often includes potatoes, borlotti beans and celery paired with cabbage or kale, while in southern Italy you’ll find zucchini, spinach and green beans added instead.
What lands in the bowl is a spoonable mix of soft vegetables, creamy beans and tender pasta in a tomato-tinted broth, savoury rather than rich, with a little bite from the greens. It works as a starter before a simple main, or as a meal on its own with bread, and it is the kind of soup many Italian households make in bigger batches on cool days, since the flavour settles and deepens by the next day.
What you need
Three things decide how good this soup tastes: the soffritto, the beans, and what you use to build savouriness in the broth.
The soffritto is the base of almost every Italian soup and sauce. It is made with onions, celery, carrots and garlic cooked gently before anything else goes into the pot. Dice the three vegetables by hand rather than in a food processor, so they keep some texture after a long simmer.
For the beans, cannellini are the easiest to find outside Italy, though traditional minestrone is often made with borlotti (Roman) beans, and navy beans work just as well. Canned beans are fine and keep the cooking time reasonable; dried beans need soaking and a longer simmer but give a creamier result.
A parmesan rind, saved in the freezer from a finished block, is the detail that makes the broth taste like it has simmered for hours. Using a rind from a parmesan cheese block is a way many Italians infuse a soup with rich flavour. If you don’t have one, a little extra grated parmesan stirred in at the end does a similar job on a smaller scale.
| Ingredient | Swap | What changes |
|---|---|---|
| Parmesan rind | Omit, or stir in 1 tbsp grated parmesan at the end | Slightly less depth in the broth; omitting the rind entirely keeps the soup dairy-free |
| Ditalini pasta | Small shells, elbows, or broken spaghetti | Same texture; check the pack for timing and add a minute or two earlier if the shape is larger |
| Cannellini beans | Borlotti beans or chickpeas, same weight | Borlotti give a nuttier taste and pink flecks; chickpeas hold their shape longer |
| Kale or cabbage | Baby spinach or chard, same weight | Milder, wilts faster, so add it in the final 2 to 3 minutes instead of earlier |
Classic Italian Minestrone Soup
A vegetarian Italian vegetable soup with a soffritto base, cannellini beans and small pasta in a tomato broth, enriched with a parmesan rind.
- Vegetarian
- Halal
Ingredients
Soffritto
- 45 ml Extra-virgin olive oil
- 150 g Yellow onion, diced, 1 medium onion
- 150 g Celery, diced, about 2 stalks
- 200 g Carrots, diced, 2 medium carrots
- 9 g Garlic, minced
Vegetables and tomatoes
- 200 g Potato, peeled and diced, 1 medium potato
- 200 g Zucchini, diced, 1 medium zucchini
- 100 g Green beans, trimmed and cut into short pieces
- 150 g Kale or cabbage, shredded
- 400 g Tinned chopped tomatoes, 1 tin
Broth, beans and pasta
- 1½ l Vegetable stock
- 50 g Parmesan rind, or 1 tbsp grated parmesan added at the end (optional)
- 1 Bay leaf
- 1 tsp Dried oregano
- 1 sprig Fresh rosemary sprig
- 400 g Cannellini beans, drained and rinsed, 1 tin
- 150 g Ditalini pasta (or other small pasta)
- 1 tsp Salt, to taste
- 1 pinch Black pepper, to taste
- 1 bunch Fresh basil or parsley, chopped, small handful, to finish
- 30 g Grated parmesan, to serve (optional)
Equipment
Large pot or Dutch oven, Chef's knife, Wooden spoon, Ladle
Method
- Prepare the vegetables. Dice the onion, celery and carrot into small, even pieces. Dice the potato and zucchini, trim and cut the green beans, and shred the kale or cabbage. Having everything cut before you start makes the staggered additions easier.
- Build the soffritto. Warm the olive oil in a large pot over medium-low heat. Add the onion, celery and carrot and cook for 8 to 10 minutes, stirring now and then, until they turn soft and translucent but not browned.
- Add garlic and tomatoes. Stir in the garlic and cook for 1 minute until fragrant. Add the tinned tomatoes and cook for 3 to 4 minutes, stirring, until the mixture deepens in colour and smells less raw.
- Start the broth. Pour in the vegetable stock and add the parmesan rind, bay leaf, oregano and rosemary sprig. Bring to a boil, then reduce the heat so the soup simmers gently.
- Add the slower vegetables. Add the diced potato and green beans. Simmer for 10 minutes, until the potato is almost tender when pierced with a knife.
- Add zucchini, cabbage and beans. Stir in the zucchini, kale or cabbage, and the cannellini beans. Simmer for 10 to 15 minutes more, until all the vegetables are tender but still hold their shape.
- Cook the pasta in the soup. Stir in the ditalini pasta and cook, stirring occasionally so it doesn't catch on the bottom, for 8 to 10 minutes or until al dente, following the time on the pack as a guide.
- Season and finish. Remove and discard the parmesan rind and bay leaf. Taste and season with salt and black pepper; remember the rind and stock already add some saltiness.
- Rest, then serve. Take the pot off the heat and let the soup sit for 5 to 10 minutes. Stir in the chopped basil or parsley, ladle into bowls, and top with a drizzle of olive oil and grated parmesan if using.
Contains: milk, gluten, celery. Check the labels on packaged ingredients.
Written with AI assistance and reviewed by a human editor. This recipe has not been cooked in a home kitchen, so taste and adjust as you go. The header picture is an AI-generated illustration, a stock photo or an official press picture, not a photo of this exact recipe. Use halal-certified meat.
Tips for success
Cook the soffritto properly. Give the onion, celery and carrot 8 to 10 minutes over medium-low heat until they turn soft and translucent, not browned. Rushing this step is the most common reason minestrone tastes flat.
Stagger the vegetables. Root vegetables like potato go in first since they take longest; zucchini, cabbage and beans go in once the broth is simmering; delicate greens go in during the last few minutes so they keep some colour and bite.
Taste before you salt. The broth concentrates as it reduces, and a parmesan rind already adds salt. Check seasoning right before serving rather than at the start.
Cook pasta separately if you’re making the soup ahead. Pasta keeps absorbing liquid as it sits, turning soft and bloated by the next day. Cook it on the side and stir it into each bowl, or add it to the pot only 10 minutes before you plan to eat.
Let it rest 5 to 10 minutes off the heat before serving. The vegetables finish softening gently and the flavours settle, which matters more in a vegetable soup like this than almost any other.
Finish with fat and acid. A drizzle of good olive oil and a squeeze of lemon added at the table lift a soup that can otherwise taste one-note after a long simmer.
Storing and reheating
Cool the soup, then refrigerate it within 2 hours of cooking; eat it within 3 to 4 days. Reheat on the stove until it is steaming hot all the way through, around 74°C (165°F), stirring occasionally and adding a splash of water or stock if the pasta has soaked up a lot of the broth.
For longer storage, freeze the soup without the pasta for up to 2 to 3 months in airtight containers; pasta turns mushy after freezing, so cook a fresh batch when you reheat. Thaw in the fridge overnight before reheating, not on the counter.
Serving ideas
Serve it in deep bowls with a drizzle of olive oil, grated parmesan and black pepper, alongside crusty bread for mopping up the broth. It also works well as a starter before a simple grilled chicken or fish main, since it’s light enough not to compete. Some Italian cooks serve it hot, or in the Genoese tradition, at room temperature, which is worth trying in warm weather.
Diet and allergen notes
This recipe is vegetarian as written, and naturally halal since it contains no meat, pork products or alcohol. To make it vegan, skip the parmesan rind and leave out the grated parmesan at the table; the soup still tastes rounded thanks to the tomatoes and beans. For a gluten-free version, swap the pasta for a gluten-free small pasta or for rice, and check your stock and tinned tomatoes for gluten-containing additives. The main allergens here are gluten (pasta) and dairy (parmesan), both easy to remove. It is not a low-carb or keto dish, since it relies on potatoes, pasta and beans for body.
Questions
Can I leave out the pasta or rice?
Yes. Pasta and rice are generally used in minestrone but the soup is defined more by its vegetables and beans than by any single starch. Leaving them out gives a lighter, more broth-forward soup; add an extra handful of beans to keep it filling.
What vegetables should I use if I don’t have what’s listed?
Almost anything seasonal works. Minestrone was built around leftover and in-season vegetables rather than a fixed list, so cauliflower, turnips, peas, fennel or pumpkin can all replace or join the vegetables here, as long as you adjust cooking times so quicker-cooking vegetables go in later.
Why add a parmesan rind instead of just more cheese?
A rind simmers gently in the broth over the whole cooking time, releasing savoury flavour slowly without melting into strings or clumps the way grated cheese does if added too early. It’s removed before serving, with fresh grated parmesan added at the table for anyone who wants it.

