A hearty, rustic Italian soup of creamy cannellini beans, tender pasta, and a rich tomato-rosemary broth. Everything cooks in one pot in under 40 minutes — cheap, filling, and deeply satisfying.

Pasta e fagioli (pronounced 'pasta eh fa-joh-lee') is one of Italy's most beloved peasant dishes — a thick, hearty soup of pasta and beans in a flavourful tomato and rosemary broth. Dating back centuries, this 'cucina povera' (poor kitchen) dish was born out of necessity, using inexpensive, shelf-stable ingredients to create something deeply nourishing. Today it appears on trattoria menus across Italy and remains a staple of Italian home cooking precisely because it delivers extraordinary flavour for almost no cost.
This recipe delivers restaurant-quality depth from a handful of pantry staples costing under £4. The combination of creamy cannellini beans, sweet soffritto vegetables, sharp tomato, and aromatic rosemary creates a layered flavour that tastes as though it has been simmering for hours. Everything cooks in a single pot, the pasta cooks directly in the broth, and the whole dish comes together in 40 minutes. It is the ultimate budget comfort food.
Pasta e fagioli is perfect for cold weeknight dinners when you want something warming, filling, and fast. It makes an excellent lunch the next day — the flavours deepen overnight. Serve it as a starter in smaller portions at an Italian dinner, or as a main course with crusty ciabatta and a green salad.
Build a proper soffritto by cooking the onion, celery, and carrot slowly — this is the flavour foundation. Mash some beans for creaminess. Cook the pasta directly in the broth. Always finish with a drizzle of raw extra virgin olive oil in each bowl.
Mild, creamy white beans that are the backbone of this soup. They provide plant-based protein, fibre, and a starchy creaminess when partially mashed. Canned beans work excellently and make this a quick weeknight meal.
The aromatic base of Italian cooking — these three vegetables, slowly cooked in olive oil until soft and sweet, build the foundational flavour that makes this simple soup taste complex and deeply developed.
A single sprig of fresh rosemary simmered in the broth adds the unmistakable piney, resinous fragrance that defines the Italian character of this soup. Remove before serving — cooking it whole prevents the flavour from becoming overpowering.
Small, tube-shaped pasta that fits on a spoon with the beans. It cooks directly in the broth, absorbing flavour and releasing starch that thickens the soup naturally.
Briefly caramelised in the pot before the liquid is added, tomato paste provides concentrated umami depth and colour that a can of tomatoes alone cannot replicate.
Borlotti or navy beans can replace cannellini — both are traditional in different regional versions. Chicken stock can replace vegetable stock for more depth if not making a vegan version. Thyme can replace rosemary for a different aromatic profile. Fresh tomatoes (3 medium, chopped) can replace canned. For gluten-free, omit the pasta and add extra beans, or use certified gluten-free pasta.
Heat 2 tablespoons of olive oil in a large pot or Dutch oven over medium heat. Add the diced onion, celery, and carrot. Cook for 7–8 minutes, stirring occasionally, until soft and lightly golden. Add the minced garlic, rosemary sprig, and chilli flakes. Cook for 1 minute until fragrant.
Add the tomato paste and stir into the vegetables. Cook for 2 minutes, letting it caramelise slightly against the bottom of the pot. Pour in the crushed tomatoes and stir well. Add the drained cannellini beans and pour in the vegetable stock. Season with 1 teaspoon salt and 1/2 teaspoon black pepper. Bring to a gentle boil.
Reduce to a steady simmer and cook for 10 minutes to let the flavours develop. Remove and discard the rosemary sprig. Add the pasta directly to the pot and cook, stirring often, for 8–10 minutes or until the pasta is just tender. The soup will thicken substantially as the pasta absorbs liquid — add a splash of hot water if it becomes too thick.
Taste and adjust seasoning. Ladle into warm bowls. Finish each bowl with a generous drizzle of good extra virgin olive oil and a crack of black pepper. Serve with grated Parmesan or Pecorino at the table alongside crusty bread.
Techniques that separate good from great
A saved Parmesan or Pecorino rind dropped into the broth while simmering slowly releases glutamates and a mild dairy richness that transforms the soup's body. It is the single ingredient that most distinguishes a restaurant-quality pasta e fagioli from a home version. Keep rinds in the freezer and use them in any long-cooked soup or braise.
Before adding the pasta, use the back of a wooden spoon to crush roughly a third of the beans against the pot wall. This releases their starch directly into the broth, creating a thick, creamy consistency without adding any cream or thickener. The remaining whole beans provide texture contrast.
Cooking the pasta directly in the broth rather than boiling it separately releases surface starch that thickens the soup and coats every piece of pasta with flavour. The pasta absorbs the seasoned broth as it cooks, creating an integrated dish rather than two separate components combined at the last moment.
The raw drizzle of good extra virgin olive oil added to each bowl just before serving is a fundamental technique in Italian bean soups. The heat of the soup gently warms the oil, releasing its fresh, grassy flavour compounds that cooking destroys. This finishing layer is what gives the soup its characteristic Italian richness and fragrance.
Different ways to make this dish your own
Fry 80g of diced pancetta or guanciale in the pot before adding the soffritto. The rendered pork fat and salty, savory pancetta add a meaty richness that is the most popular non-vegan version of this soup across Italy.
Add 1 diced courgette, a handful of green beans, and 1 diced potato along with the canned tomatoes for a heartier, more vegetable-forward version that bridges pasta e fagioli and classic minestrone.
Double the chilli flakes and add 1 teaspoon of smoked paprika for a bold, fiery version. The heat works beautifully with the creamy beans and provides excellent warmth on cold days.
Omit the pasta entirely and increase the beans to 3 cans. Blend half the soup for a thick, velvety white bean soup finished with a generous pour of Tuscan olive oil — the elegant stripped-back version.
Perfect pairings to complete the meal
Thick slices of crusty bread for dunking into the thick broth are non-negotiable. The bread soaks up the flavourful soup and provides textural contrast to the soft beans and pasta.
A generous grating of aged cheese over the hot soup adds a salty, umami-rich finish. Pecorino gives a sharper result; Parmesan is milder and nuttier.
The most important finishing touch — a tablespoon of good raw olive oil poured into the bowl just before serving adds fresh, grassy fragrance that transforms the dish.
A lightly dressed rocket or mixed leaf salad serves as a fresh, bitter counterpoint to the hearty, warming soup.
Keep it fresh and plan ahead
Store in an airtight container for up to 4 days. The pasta will continue absorbing broth — add water or stock when reheating to restore the original consistency.
Freeze the soup without pasta for best results — the pasta becomes mushy after freezing. Add freshly cooked pasta when reheating from frozen. Keeps for up to 3 months.
The bean and broth base can be made 2 days ahead and refrigerated. Cook the pasta fresh when ready to serve for the best texture.
Reheat gently in a saucepan over medium heat with a splash of water or stock, stirring regularly. The soup will have thickened considerably — adding liquid gradually while stirring restores the original soup consistency.
Be the first to review this recipe!
Turn what you already have in your fridge into delicious meals. Our AI-powered generator creates personalized recipes from your ingredients.
Discover more delicious recipes similar to what you're cooking
Join our newsletter and discover new favorites delivered straight to your inbox. No spam, just tasty inspiration.