Creamy Tuscan Parmesan Soup

By

October 9, 2026

Imagine a cold, drizzly afternoon where the wind rattles the windowpanes and the light begins to fade earlier than you expected. In moments like these, the kitchen becomes the true heart of the home, a sanctuary of warmth and enticing aromas. There is a specific kind of magic that happens when a heavy-bottomed pot is placed on the stove and the rhythmic sound of a knife hitting a wooden cutting board fills the air. You begin with the basics—onions, carrots, and celery—the humble foundation of so many great culinary traditions. As they soften in a pool of golden olive oil, the scent is clean and sweet, a promise of the comfort to come. As the soup progresses, the air transforms. The sharp, pungent fragrance of fresh garlic mingles with the earthy, woodsy notes of thyme and a single bay leaf. But the real secret, the element that turns this from a simple vegetable broth into something legendary, is the addition of Parmesan rinds. These often-discarded treasures slowly release their salty, nutty essence into the liquid, creating a depth of flavor that feels like it has been simmering for days rather than minutes. By the time you stir in the freshly grated cheese and a splash of velvety cream, the soup has become a rich, golden elixir, thick enough to coat a spoon and soul-warming enough to make the world outside disappear. When you finally carry a steaming bowl to the table, perhaps accompanied by a thick slice of toasted sourdough or a crusty baguette, you aren’t just serving a meal; you are offering a gesture of care. The first spoonful is a revelation—a perfect balance of savory umami, bright lemon, and creamy luxury. This is the kind of recipe that builds memories, the one that family members request on birthdays and rainy Sundays alike. It is simple enough for a weeknight but sophisticated enough for a dinner party, proving that with the right techniques and quality ingredients, home cooking can reach heights of pure, unadulterated joy.
Velvet Parmesan cheese broth simmering with aromatic garlic and herbs in an enamel pot

Why Make Creamy Tuscan Parmesan Soup

In the modern world, where convenience often trumps quality, there is a profound benefit to returning to the stove to craft a meal from scratch. Making this Creamy Tuscan Parmesan Soup is an exercise in culinary mindfulness. It allows you to take control of what goes into your body, ensuring that every spoonful is packed with wholesome vegetables and high-quality fats rather than the preservatives and excessive sodium often found in canned alternatives. Beyond the health benefits, there is a deep psychological comfort in the process of making soup. It is a slow, methodical task that rewards patience and attention to detail. This recipe is particularly suited for those transitional seasons when the air is crisp, but it holds its own as a year-round staple for anyone seeking a “hug in a bowl.” Its primary appeal lies in its versatility and its roots in the Italian philosophy of “Cucina Povera,” or “poor kitchen” cooking. This tradition teaches us to use every part of our ingredients, such as saving the rinds of expensive cheeses to flavor stocks. By making this soup, you are participating in a timeless tradition of resourcefulness and flavor maximization. It is a dish that honors its ingredients, turning basic pantry staples like onions, potatoes, and broth into a masterpiece of texture and taste. Furthermore, this soup is a fantastic tool for the home cook looking to master the art of layering flavors. You will learn how the sweetness of sautéed carrots balances the saltiness of the Parmesan, and how a tiny splash of lemon juice at the very end can “wake up” a dish, cutting through the richness of the cream. It is an approachable recipe for beginners, yet it offers enough nuance to satisfy the most seasoned chef. Whether you are looking to impress a guest or simply want to treat yourself after a long day, this soup provides a high-return investment of your time and effort.

Why You’ll Love This Creamy Tuscan Parmesan Soup

There are many reasons why this soup will likely become a permanent fixture in your recipe rotation. First and foremost is the incredible texture. It manages to be creamy and indulgent without feeling heavy or greasy. Because the base is built on a vibrant vegetable mirepoix and a light broth, the addition of cream and cheese serves to enhance the existing flavors rather than mask them. You get the silkiness of a bisque with the hearty, chunky satisfaction of a rustic farmhouse stew.

Cozy Flavor with Everyday Ingredients

One of the most lovable aspects of this dish is that it doesn’t require a trip to a specialty grocery store. Most of the ingredients—onions, carrots, celery, potatoes, and garlic—are likely already sitting in your pantry or crisper drawer. This accessibility makes it a reliable “back pocket” recipe for those nights when you haven’t planned a menu but want something that tastes like a special occasion. The magic lies in how these everyday items are treated. By taking the time to finely chop the vegetables and sauté them until they are just right, you coax out a natural sweetness that forms the backbone of the soup. The use of Parmesan rinds is a game-changer for many home cooks. If you have been throwing those hard ends away, this recipe will change your habits forever. The rinds act like a natural bouillon cube, infusing the broth with a complex, aged flavor that you simply cannot get from a bottle or a box. When combined with the fresh thyme and bay leaf, the result is a sophisticated flavor profile that tastes much more expensive and time-consuming than it actually is.

Quick to Make, Easy to Love

Efficiency is another reason this soup stands out. While some Italian soups require half a day on the stove to develop their character, this Creamy Tuscan Parmesan Soup comes together in about thirty to forty minutes. This makes it an ideal candidate for busy weeknights when you still crave a home-cooked meal. The steps are logical and flow naturally, allowing you to clean as you go. The “love” factor also comes from the soup’s adaptability. If you have kids who are picky about vegetables, the finely diced carrot and celery melt into the background, providing nutrition without being “obvious.” If you are cooking for someone who loves bold flavors, you can easily ramp up the black pepper or add a pinch of red pepper flakes. It is a crowd-pleaser in the truest sense of the word, fitting seamlessly into various lifestyles and dietary preferences with just a few minor tweaks.

Ingredients and Substitutions

The success of a simple soup depends entirely on the quality of its components. Because there are no hidden ingredients, every item plays a starring role. Understanding the function of each ingredient will help you make the best choices at the grocery store and allow you to make smart substitutions if you find your pantry lacking. The foundation of the soup starts with the fat—either olive oil or butter. Olive oil provides a fruity, peppery note that leans into the Mediterranean roots of the dish, while butter offers a rich, lactic sweetness that complements the cream and cheese. For the aromatics, we use the classic trio of onion, carrot, and celery. These should be diced small and uniform so that they cook evenly and provide a consistent texture in every bite. Garlic is added later to ensure its delicate sugars don’t burn, which would introduce a bitter taste to the broth. The choice of starch is where you can really customize the soup. A medium potato, peeled and diced, is the traditional choice for a rustic, thickened texture. As the potato cooks, it releases a small amount of starch into the broth, helping to create that “creamy” feel even before the dairy is added. However, if you prefer something more “Minestrone-like,” small pasta such as orzo or ditalini works beautifully. For a boost of protein and fiber, cannellini beans are an excellent substitute, offering a creamy interior that mimics the texture of the potato. The liquid element—chicken or vegetable broth—should be low-sodium. This is crucial because both the Parmesan rinds and the grated Parmesan cheese contain significant amounts of salt. Using a low-sodium base gives you total control over the final seasoning. The Parmesan rinds are the “secret ingredient” here. They are the hard, outer shells of the cheese wheel. While they are too tough to eat, they are packed with concentrated flavor. The bay leaf and thyme provide the herbal top notes that cut through the richness of the cheese. Finally, the finishing touches: freshly grated Parmesan cheese and heavy cream. It is vital to grate your own cheese from a wedge. Pre-shredded cheeses are often coated in cellulose or potato starch to prevent clumping in the bag, which can prevent them from melting smoothly into your soup, resulting in a grainy texture. The cream adds the final touch of luxury, while the lemon juice provides the necessary acidity to brighten the entire flavor profile.

What You’ll Need for This Recipe

  • 2 tablespoons olive oil or butter: Used for sautéing the aromatics and building the flavor base. Use high-quality extra virgin olive oil for a more authentic Tuscan flavor.
  • 1 small onion: Finely chopped. Yellow or white onions are best for their balanced sweetness.
  • 2 cloves garlic: Minced. Fresh garlic is essential here; avoid the jarred variety for the best aroma.
  • 1 medium carrot: Diced. Adds a hint of sweetness and a pop of color.
  • 1 stalk celery: Diced. Provides an earthy, savory backbone to the mirepoix.
  • 1 medium potato: Peeled and diced. (Substitutions: 1 cup small pasta like orzo or ditalini, OR 1 can cannellini beans, drained and rinsed).
  • 6 cups low-sodium chicken or vegetable broth: The main body of the soup. Homemade stock is wonderful, but a high-quality store-bought version works well.
  • 1 to 2 pieces Parmesan rinds: About 3–4 ounces total. This is the key to the deep umami flavor.
  • 3/4 to 1 cup freshly grated Parmesan cheese: Plus extra for serving. Use Parmigiano-Reggiano for the most authentic and intense flavor.
  • 1 piece bay leaf: Adds a subtle, herbal depth that rounds out the savory notes.
  • Pinch of thyme: Fresh is preferred for its bright flavor, but dried thyme works perfectly well in a smaller quantity.
  • 1/2 cup heavy cream or half-and-half: Optional, but highly recommended for a luxurious, silky finish.
  • To taste salt and black pepper: Always season in stages, keeping in mind the saltiness of the cheese.
  • 1 to 2 teaspoons lemon juice: Added at the very end to brighten and balance the richness.
  • To taste chopped parsley: For a fresh, green garnish that adds visual appeal and a clean finish.

Smart Swaps for Dietary Needs

One of the hallmarks of a great recipe is its ability to adapt to the needs of different diners without losing its soul. Here are some ways to modify this soup:
  • Dairy-Free/Vegan: Replace the butter with olive oil. Instead of Parmesan cheese and rinds, use 3 to 4 tablespoons of nutritional yeast and a tablespoon of white miso paste to mimic that savory, cheesy depth. Swap the heavy cream for full-fat canned coconut milk (it will add a slight coconut flavor) or a creamy oat milk. Use vegetable broth instead of chicken broth.
  • Gluten-Free: This recipe is naturally gluten-free if you use the potato or bean option. If you choose the pasta option, simply use your favorite gluten-free small pasta shape. Always check your broth labels to ensure no hidden gluten is present.
  • Low-Sodium: In addition to using low-sodium broth, you can reduce the amount of grated Parmesan added at the end. Increase the lemon juice and fresh herbs like parsley or basil to provide flavor without the need for extra salt.
  • Low-Carb/Keto: Omit the potato, pasta, or beans. Instead, add extra diced celery or even some chopped cauliflower florets, which provide a similar texture to potatoes but with fewer carbohydrates.
  • Vegetarian: Ensure you are using a high-quality vegetable broth. Note that traditional Parmigiano-Reggiano uses animal rennet; for a strictly vegetarian version, look for a “Parmesan-style” hard cheese that specifies it uses microbial or vegetable rennet.

Smart Variation (Optional)

If you want to take this soup in a slightly different direction, consider adding a handful of chopped kale or baby spinach during the last five minutes of cooking. The greens will wilt into the broth, adding color and a boost of iron and vitamins. This turns the soup into a more robust “Zuppa Toscana” style meal. Another wonderful variation is to add a pinch of red pepper flakes during the garlic sauté step for a subtle, warming heat that contrasts beautifully with the creamy finish.

How to Make Creamy Tuscan Parmesan Soup

Cooking is as much about the “how” as it is about the “what.” Following these steps carefully will ensure that you extract the maximum flavor from your ingredients and achieve the perfect velvety consistency.

Step 1: Begin by placing a large, heavy-bottomed pot or a Dutch oven over medium heat. Add your olive oil or butter. Once the fat is shimmering (if using oil) or foaming (if using butter), add your finely chopped onion, diced carrot, and diced celery. Sprinkle a small pinch of salt over the vegetables. This salt isn’t just for seasoning; it helps draw the moisture out of the vegetables, allowing them to soften and sweeten without browning too quickly. Cook this mixture, stirring occasionally, for about 5 to 6 minutes. You are looking for the onions to become translucent and the carrots to lose their rigidity.

Step 2: Once the vegetables are soft and aromatic, add your minced garlic. This is a critical moment. Garlic can burn in seconds, and burnt garlic will ruin the entire pot with its bitter taste. Stir the garlic constantly for only about 30 seconds, just until you can smell its fragrance filling the kitchen.

Step 3: Pour in the 6 cups of broth. Add the Parmesan rinds, the bay leaf, and the thyme. Using a wooden spoon, scrape the bottom of the pot to release any flavorful bits that might have stuck during the sautéing process. Turn the heat up slightly to bring the liquid to a gentle simmer. You don’t want a rolling boil, as this can make the vegetables mushy and cause the broth to evaporate too quickly; a gentle, steady bubble is perfect.

Step 4: Now it is time to add your chosen starch. If you are using the diced potato, stir it in now. If you have opted for small pasta or cannellini beans, add them at this stage as well. Continue to simmer the soup. For potatoes, this usually takes about 12 to 15 minutes, or until they are fork-tender. If using pasta, follow the package directions for “al dente” timing, as the pasta will continue to soften slightly in the hot broth.

Step 5: Once the potatoes or pasta are cooked, use a slotted spoon to find and remove the Parmesan rinds and the bay leaf. The rinds will likely be very soft and may have lost some of their shape—that’s a sign they’ve given their all to the broth. Turn the heat down to low. This is vital because if the soup is too hot, the cheese might clump or the cream might curdle. Stir in the freshly grated Parmesan cheese one small handful at a time. Stir continuously until each addition is completely melted and the soup looks smooth. Finally, pour in the heavy cream or half-and-half, if using. Stir until well combined, but do not let the soup come back to a boil.

Step 6: It is time for the final seasoning. Add a generous amount of freshly cracked black pepper. Now, taste the soup. Because of the salt in the broth and the cheese, you may not need much additional salt, but add it now if the flavors feel a bit flat. Finally, stir in the lemon juice. Start with one teaspoon, taste, and add a second if you feel the soup needs more “lift.” The lemon juice should not make the soup taste like lemon; it should simply make the other flavors taste more vivid.

Step 7: Ladle the hot soup into warmed bowls. For the perfect presentation and an extra layer of flavor, top each serving with a light dusting of freshly grated Parmesan, a tiny drizzle of high-quality extra virgin olive oil, and a sprinkle of freshly chopped parsley. Serve immediately while the aromas are at their peak.

Tips for Texture, Timing & Tools

To achieve the best results, consider the tools you are using. A heavy-bottomed pot, like a cast-iron Dutch oven, is ideal because it distributes heat evenly and prevents the soup from scorching at the bottom. When dicing your vegetables, aim for “spoon-sized” pieces. You want to be able to get a bit of everything—a piece of potato, a bit of carrot, and plenty of broth—in every single mouthful. If you find that your soup is a little thinner than you’d like, you can take a potato masher or a fork and gently crush a few of the cooked potato cubes or beans against the side of the pot. This releases more starch and naturally thickens the broth without the need for a flour-based roux. Regarding timing, remember that soup is very forgiving. If your guests are running late, you can keep the soup on the lowest possible heat setting (before adding the cream and cheese) for quite some time.

Storage & Reheating

Soup is often even better the next day, as the flavors have more time to mingle and develop. However, because this soup contains dairy and starch, there are a few things to keep in mind to ensure it stays delicious.

How to Store It Right

Allow the soup to cool to room temperature before transferring it to airtight containers. Do not leave it out on the counter for more than two hours. In the refrigerator, this soup will stay fresh for 3 to 4 days. If you used pasta instead of potatoes or beans, be aware that the pasta will continue to soak up the liquid as it sits. You may find that your “soup” has turned into a thick “stew” by the next morning. This is perfectly normal and easily fixed during reheating. If you plan on freezing the soup, it is best to do so before adding the cream and the final handfuls of grated cheese. Dairy can sometimes separate or become grainy when frozen and thawed. Freeze the broth and vegetable base in freezer-safe bags or containers for up to 3 months. When you are ready to eat, thaw the base, bring it to a low simmer, and then proceed with Step 5 of the instructions.

Reheating Without Losing Flavor

When reheating refrigerated soup, do so gently. Place the desired amount in a small saucepan over medium-low heat. If the soup has thickened too much (especially if it contains pasta), add a splash of broth or water to loosen it back to your preferred consistency. Stir frequently to ensure the cheese doesn’t stick to the bottom of the pan. Avoid bringing the soup to a vigorous boil, as this can cause the cream to break and the texture to become less than ideal. A gentle steaming heat is all you need.
A Dish Worth Making Again and Again
The beauty of the Creamy Tuscan Parmesan Soup lies in its reliability. It is a dish that rewards the cook with a sense of accomplishment and the diner with a sense of peace. As you become more familiar with the recipe, you will find yourself making it instinctively, perhaps adding a bit more garlic one time or experimenting with different herbs another. It is a living recipe, one that grows with you and your family, providing comfort through every season of life.
Elegant creamy bowl of Tuscan Parmesan soup topped with shaved parmesan and freshly ground black pepper

Creamy Tuscan Parmesan Soup

Warm, creamy, and rich in cheese flavor, this Parmesan Soup is a cozy dish perfect for any weeknight dinner. It’s versatile, budget-friendly, and makes use of simple pantry staples.
Prep Time 10 minutes
Cook Time 20 minutes
Total Time 30 minutes
Servings: 4 servings
Course: Soup
Cuisine: Italian, Tuscan
Calories: 260

Ingredients
  

  • 2 tablespoons olive oil or butter
  • 1 small onion, finely chopped
  • 2 cloves garlic, minced
  • 1 medium carrot, diced
  • 1 stalk celery, diced
  • 1 medium potato, peeled and diced (or 1 cup small pasta like orzo/ditalini, or 1 can cannellini beans, drained)
  • 6 cups low-sodium chicken or vegetable broth
  • 1 to 2 pieces Parmesan rinds (about 3–4 ounces total)
  • 3/4 to 1 cup freshly grated Parmesan cheese (plus extra to serve)
  • 1 piece bay leaf
  • pinch thyme (fresh or dried)
  • 1/2 cup heavy cream or half-and-half (optional)
  • to taste salt and black pepper
  • 1 to 2 teaspoons lemon juice (to brighten)
  • to taste chopped parsley, for garnish (optional)

Method
 

  1. In a pot, warm olive oil or butter over medium heat. Cook onion, carrot, and celery with a pinch of salt for 5 to 6 minutes, until soft.
  2. Add garlic; cook for 30 seconds.
  3. Add broth, Parmesan rinds, bay leaf, and thyme. Bring to a gentle simmer.
  4. Stir in diced potato (or pasta or beans). Simmer until tender, about 12 to 15 minutes.
  5. Remove rinds and bay leaf. Lower the heat. Stir in grated Parmesan by small handfuls until melted and smooth. Add cream if using. Do not boil.
  6. Add black pepper and lemon juice. Taste and add salt if needed.
  7. Ladle into bowls. Top with more Parmesan, a drizzle of olive oil, and parsley.

Notes

Chef’s Test Kitchen Note: For optimal flavor development, allow the soup to rest for 10 minutes off heat before serving. Store leftovers in airtight glass containers in the refrigerator for up to 4 days.

🍲 More Cozy Homemade Soups to Try:

(FAQs)

Can I use a different type of cheese if I don’t have Parmesan?

While Parmesan (specifically Parmigiano-Reggiano) provides the signature nutty and salty profile of this soup, you can use other hard, aged Italian cheeses. Pecorino Romano is a great alternative, though it is saltier and tangier, so you should be even more careful with your added salt. Grana Padano is another excellent choice; it is very similar to Parmesan but often slightly milder and more affordable. Avoid soft cheeses or “shaky” cheese from a green can, as they won’t provide the right texture or depth of flavor.

What can I do if I don’t have any Parmesan rinds?

Don’t worry if you haven’t started saving your rinds yet! You can still make a delicious soup. To compensate for the missing umami, you can add an extra half-cup of grated Parmesan cheese at the end. Alternatively, adding a teaspoon of Worcestershire sauce or a small amount of tomato paste during the vegetable sautéing stage can help add a similar savory depth. Many high-end cheese counters actually sell bags of rinds specifically for soup-making, so it’s worth asking your local cheesemonger.

Is it possible to make this soup in a slow cooker or Crock-Pot?

Yes, this soup adapts well to a slow cooker. Add the sautéed vegetables (it’s still best to sauté them first for flavor), garlic, broth, rinds, herbs, and potatoes to the slow cooker. Cook on low for 6 to 7 hours or on high for 3 to 4 hours. Once the potatoes are tender, remove the rinds and bay leaf, then stir in the grated cheese, cream, and lemon juice just before serving. If using pasta, cook it separately and add it at the very end to prevent it from becoming overly mushy.

How do I stop the cheese from clumping together when I add it?

Clumping usually happens for two reasons: the soup is too hot, or the cheese was added too quickly. To prevent this, ensure you have turned the heat down to low before adding the cheese. Adding the cheese in small handfuls and whisking or stirring vigorously between each addition allows the cheese to melt into the liquid gradually. Also, as mentioned before, using freshly grated cheese rather than pre-shredded cheese from a bag is the most effective way to ensure a smooth, clump-free result.

Can I add meat to this recipe to make it more filling?

Absolutely. This soup is a wonderful canvas for added proteins. Italian sausage (sweet or spicy) is a classic choice; brown it in the pot first, remove it, and then use the rendered fat to sauté your vegetables before adding the meat back in with the broth. Crispy pancetta or bacon bits sprinkled on top as a garnish also add a lovely smoky element. If you have leftover roasted chicken, you can shred it and stir it in during the final few minutes of simmering to warm it through.

What are the best side dishes to serve with this soup?

Since this soup is rich and creamy, it pairs beautifully with items that offer a bit of crunch or acidity. A thick slice of toasted sourdough rubbed with a raw garlic clove is perhaps the perfect accompaniment. A crisp green salad with a sharp lemon vinaigrette helps cut through the richness of the Parmesan and cream. For a more substantial meal, consider serving it alongside a plate of roasted vegetables or a simple focaccia topped with rosemary and sea salt.

Can I use milk instead of heavy cream?

You can use whole milk or 2% milk if you want to reduce the fat content, but keep in mind that the soup will be less “velvety.” If using milk, be even more careful not to let the soup boil after adding it, as milk is more prone to curdling than heavy cream. To get a bit more thickness when using milk, you might want to mash more of the potatoes or beans to create a natural creaminess. Half-and-half is a great middle-ground option that provides plenty of richness with fewer calories than heavy cream.

Why do I need to add lemon juice at the end?

The lemon juice acts as a “brightener.” In a soup with heavy ingredients like broth, potatoes, cheese, and cream, the flavors can sometimes feel a bit “heavy” or “muddy” on the palate. The acidity of the lemon juice cuts through that weight, highlighting the sweetness of the carrots and the saltiness of the cheese. It’s the secret step that makes the soup taste “professional.” If you don’t have a lemon, a teaspoon of white wine vinegar or light sherry vinegar can serve a similar purpose.
Elegant creamy bowl of Tuscan Parmesan soup topped with shaved parmesan and freshly ground black pepper

Creamy Tuscan Parmesan Soup

Warm, creamy, and rich in cheese flavor, this Parmesan Soup is a cozy dish perfect for any weeknight dinner. It’s versatile, budget-friendly, and makes use of simple pantry staples.
Prep Time 10 minutes
Cook Time 20 minutes
Total Time 30 minutes
Servings: 4 servings
Course: Soup
Cuisine: Italian, Tuscan
Calories: 260

Ingredients
  

  • 2 tablespoons olive oil or butter
  • 1 small onion, finely chopped
  • 2 cloves garlic, minced
  • 1 medium carrot, diced
  • 1 stalk celery, diced
  • 1 medium potato, peeled and diced (or 1 cup small pasta like orzo/ditalini, or 1 can cannellini beans, drained)
  • 6 cups low-sodium chicken or vegetable broth
  • 1 to 2 pieces Parmesan rinds (about 3–4 ounces total)
  • 3/4 to 1 cup freshly grated Parmesan cheese (plus extra to serve)
  • 1 piece bay leaf
  • pinch thyme (fresh or dried)
  • 1/2 cup heavy cream or half-and-half (optional)
  • to taste salt and black pepper
  • 1 to 2 teaspoons lemon juice (to brighten)
  • to taste chopped parsley, for garnish (optional)

Method
 

  1. In a pot, warm olive oil or butter over medium heat. Cook onion, carrot, and celery with a pinch of salt for 5 to 6 minutes, until soft.
  2. Add garlic; cook for 30 seconds.
  3. Add broth, Parmesan rinds, bay leaf, and thyme. Bring to a gentle simmer.
  4. Stir in diced potato (or pasta or beans). Simmer until tender, about 12 to 15 minutes.
  5. Remove rinds and bay leaf. Lower the heat. Stir in grated Parmesan by small handfuls until melted and smooth. Add cream if using. Do not boil.
  6. Add black pepper and lemon juice. Taste and add salt if needed.
  7. Ladle into bowls. Top with more Parmesan, a drizzle of olive oil, and parsley.

Notes

Chef’s Test Kitchen Note: For optimal flavor development, allow the soup to rest for 10 minutes off heat before serving. Store leftovers in airtight glass containers in the refrigerator for up to 4 days.

1 thought on “Creamy Tuscan Parmesan Soup”

  1. Pingback: Roasted Cauliflower and Garlic Parmesan Soup - DIY Meal Prep

Leave a Comment

Recipe Rating