This creamy vegetable soup is pure comfort in a bowl! Packed with carrots, potatoes, broccoli, and onions, and made thick and creamy with milk and sharp cheddar cheese, it’s the ultimate nourishing meal. No canned soup needed—this homemade version is so much better and comes together in about 45 minutes!

Table of Contents
Why You’ll Love This Vegetable Soup
This isn’t your typical watery vegetable soup. It’s thick, creamy, and incredibly satisfying thanks to a generous amount of sharp cheddar cheese and a milk-flour mixture that creates a velvety texture. It’s the kind of soup that makes you feel better whether you’re sick, cold, or just need some comfort food.
What makes this soup special:
- Loaded with nutritious vegetables
- Rich and creamy without canned soup
- Sharp cheddar cheese adds incredible flavor
- Thick and hearty texture
- Perfect comfort food for sick days
- Great for meal prep (tastes even better the next day)
- Ready in about 45 minutes
- Uses simple, wholesome ingredients
Ingredients for Creamy Vegetable Soup
- 2 tablespoons butter
- 1 yellow onion, diced
- 10 cloves garlic, minced
- 1 pound carrots, peeled and diced
- 2 large russet potatoes, peeled and diced
- 32 ounces (4 cups) vegetable broth
- 2 cups finely diced broccoli florets
- 2 cups whole milk
- 2 tablespoons all-purpose flour
- 8 ounces sharp yellow cheddar cheese, freshly grated
- Salt, to taste
Important Ingredient Notes:
- Fresh garlic and onion: Don’t substitute with powder—fresh makes a huge difference in flavor
- Russet potatoes:Â These break down slightly and help thicken the soup naturally
- Freshly grated cheese:Â Pre-shredded cheese contains anti-caking agents that prevent smooth melting
- Whole milk:Â Creates the best creamy texture (you can use 2% if needed)
How to Make Creamy Vegetable Soup
Prep Your Vegetables
Start by prepping all your vegetables so they’re ready to go. Dice the onion, mince the garlic, peel and dice the carrots into small pieces, peel and dice the potatoes into small uniform pieces, and chop the broccoli florets finely. Having everything ready makes the cooking process smooth.
Sauté the Aromatics
Melt the butter in a large Dutch oven or heavy-bottomed pot over medium-low heat. Add the diced onion and minced garlic. Cook slowly for 7-10 minutes, stirring occasionally, until the onion becomes soft, translucent, and fragrant. This slow cooking develops deep flavor without burning the garlic.
Cook the Carrots
Add the diced carrots to the pot and cook over medium heat for 5 minutes, stirring occasionally. This gives them a head start since they take longer to cook than the other vegetables.
Add Potatoes and Broth
Add the diced potatoes and all 4 cups of vegetable broth. Increase heat to high and bring the soup to a boil. Once boiling, reduce to a simmer and cook until the potatoes are tender and easily pierced with a fork, about 15-20 minutes. Some potatoes will start to break apart, which is perfect—they’ll help thicken the soup.
Create the Creamy Base
In a medium bowl, whisk together the milk and flour until completely smooth with no lumps. This creates a slurry that will thicken the soup without clumping. Pour this mixture into the soup and stir well to incorporate.
Add the Broccoli
Stir in the finely diced broccoli florets. Simmer the soup for 10-15 minutes, until the broccoli is tender but still bright green. The soup will begin to thicken during this time as the flour cooks.
Finish with Cheese
Add the freshly grated sharp cheddar cheese, stirring constantly until it’s completely melted and incorporated into the soup. The soup will thicken noticeably as the cheese melts. Continue cooking for a few more minutes—the soup will continue to thicken, and the potatoes will break down further, adding to the creamy texture. Taste and add salt as needed.
Serve
Ladle the hot soup into bowls and serve immediately with crusty bread, rolls, or crackers. The soup should be thick, creamy, and absolutely delicious!

How to Prevent Gritty Texture
Several readers have mentioned a gritty texture in their soup. Here’s how to avoid this:
Make a Proper Roux (Best Method): Instead of just mixing flour with milk, add the flour to the pot after cooking the carrots. Stir and cook for 1-2 minutes to make a roux, then slowly add the milk while whisking constantly. This cooks the flour properly and eliminates grittiness.
Whisk Thoroughly: Make sure the flour is completely dissolved in the milk before adding to the soup. No lumps should remain.
Cook Long Enough: The flour needs time to cook through. After adding the milk-flour mixture, simmer for at least 10-15 minutes.
Use Russet Potatoes: Some readers found waxy potatoes created grittiness. Russet potatoes work best as they break down smoothly.
Grate Cheese Finely: Larger cheese shreds can feel gritty. Grate the cheese very finely for the smoothest texture.
Recipe Variations
Celery Addition: Add 2-3 stalks of diced celery along with the carrots for extra vegetable flavor.
Heavy Cream Version: Use 1 cup heavy cream instead of milk and skip the flour for an ultra-rich soup.
Different Cheese: Try Gruyere, white cheddar, or a combination of cheeses for different flavor profiles.
Cauliflower Instead of Broccoli: Swap the broccoli for cauliflower florets if preferred.
Add Corn: Stir in 1 cup of corn kernels (fresh or frozen) with the broccoli.
Spicy Kick: Add 1/4 teaspoon red pepper flakes or a dash of hot sauce for warmth.
Lighter Version: Use 2% milk instead of whole milk and reduce cheese to 6 ounces.
Bacon Addition: Top with crispy crumbled bacon for extra flavor and texture.
Storage and Reheating
Refrigerator: Store leftover soup in an airtight container in the refrigerator for 3-4 days. The soup actually tastes even better the next day as the flavors meld together!
Freezer: This soup can be frozen, though the texture may change slightly when reheated. Freeze in airtight containers for up to 2 months. Thaw overnight in the refrigerator.
Reheating:
- Stovetop:Â Reheat in a saucepan over medium-low heat, stirring frequently. Add a splash of milk or broth if needed to thin.
- Microwave:Â Heat in a microwave-safe bowl in 1-minute intervals, stirring between each, until heated through.
Texture Note: The soup will thicken considerably when refrigerated. When reheating, add a little milk, broth, or water to reach your desired consistency.
Expert Tips for Perfect Soup
Dice vegetables uniformly – Similar-sized pieces cook evenly and create better texture
Don’t rush the onion and garlic – Low and slow cooking develops sweet, deep flavor
Use fresh ingredients – Fresh garlic, onion, and freshly grated cheese make all the difference
Let potatoes break down – Some falling-apart potatoes add natural thickness and creaminess
Taste before salting – The cheese adds saltiness, so taste before adding extra salt
Simmer, don’t boil – Gentle simmering prevents the milk from curdling
Stir frequently – Especially after adding cheese to prevent sticking or burning on the bottom
Serve with bread – Crusty bread or rolls are perfect for soaking up this creamy soup
What to Serve with Vegetable Soup
Bread Options:
- Crusty French baguette
- Soft dinner rolls with butter
- Garlic bread
- Sourdough bread
- Grilled cheese sandwiches
Side Salads:
- Simple green salad with balsamic vinaigrette
- Caesar salad
- Mixed greens with apples and walnuts
Complete Meal Ideas:
- Soup, salad, and warm rolls
- Vegetable soup with grilled cheese
- Soup and breadsticks with marinara for dipping

Frequently Asked Questions
Can I make this in a slow cooker?
This recipe hasn’t been tested in a slow cooker, so timing is uncertain. If you try it, cook the onions, garlic, and carrots on the stovetop first, then add everything except the broccoli, milk mixture, and cheese to the slow cooker. Cook on low for 4-6 hours, then add the remaining ingredients in the last 30 minutes.
Can I use different types of potatoes?
Yes! Any potato works, but russet potatoes are ideal because they break down slightly and add natural thickness. Yukon Gold or red potatoes will hold their shape more but still work well.
Why is my soup gritty?
Grittiness usually comes from flour that hasn’t cooked long enough. Make a roux by cooking the flour with butter for 1-2 minutes before adding liquid, or ensure you simmer the soup for at least 15 minutes after adding the milk-flour mixture.
Can I use a different type of milk?
Whole milk creates the creamiest texture, but 2% milk works well. Avoid skim milk as it’s too thin. For dairy-free, use full-fat coconut milk or cashew milk (the soup will have a slightly different flavor).
Do I have to use sharp cheddar?
Sharp cheddar provides the best flavor, but medium cheddar works too. Mild cheddar will be less flavorful. You can also use a combination of cheddar and other cheeses like Gruyere.
Can I add other vegetables?
Absolutely! Celery, cauliflower, corn, peas, or green beans all work well. Add quicker-cooking vegetables (like peas) at the end.
How can I make the soup thicker?
Cook it longer to allow more liquid to evaporate and potatoes to break down. You can also mash some of the potatoes against the side of the pot, add more cheese, or make a cornstarch slurry (1 tablespoon cornstarch + 2 tablespoons water).
Can I use pre-shredded cheese?
Fresh is best, but if you must use pre-shredded, expect a slightly less smooth texture. Pre-shredded cheese contains anti-caking agents that prevent it from melting as smoothly.
Is this soup healthy?
It’s packed with vegetables and provides good nutrition! For a lighter version, use 2% milk, reduce the cheese, and skip the butter (use olive oil instead).
Can I double this recipe?
Yes! Use a very large pot or Dutch oven. The cooking times should remain approximately the same, though you may need a few extra minutes for the larger volume to come to temperature.

Creamy Vegetable Soup
Ingredients
- 2 tablespoons butter
- 1 yellow onion, diced
- 10 garlic cloves, minced
- 1 pound carrots, peeled and diced
- 2 large russet potatoes, peeled and diced
- 32 ounces (4 cups) vegetable broth
- 2 cups broccoli florets, finely diced
- 2 cups whole milk
- 2 tablespoons all-purpose flour
- 8 ounces sharp yellow cheddar cheese, freshly grated
- to taste salt
Instructions
- Dice the onion, mince the garlic, peel and dice carrots and potatoes, and finely chop the broccoli florets. Having everything ready will make the cooking process smooth.
- Melt butter in a large Dutch oven over medium-low heat. Add onion and garlic and cook for 7–10 minutes until soft and fragrant.
- Add diced carrots and cook for 5 minutes to start softening them.
- Add potatoes and vegetable broth. Bring to a boil, then reduce to simmer for 15–20 minutes until potatoes are tender.
- In a separate bowl, whisk milk and flour until smooth. Pour into the soup, stirring to combine.
- Stir in diced broccoli and simmer for 10–15 minutes until tender. The soup will start to thicken as it cooks.
- Stir in the grated cheddar cheese until melted and smooth. Continue to cook for a few minutes until creamy and thick. Taste and add salt as needed.
- Ladle hot soup into bowls and serve immediately with crusty bread, rolls, or crackers.
Why This Is the Perfect Comfort Food
This creamy vegetable soup is everything comfort food should be—warm, nourishing, satisfying, and full of flavor. It’s the soup you want when you’re sick, cold, or just need something cozy. The combination of vegetables provides nutrition, while the cheese and creamy base make it feel indulgent.
What sets this soup apart from canned or store-bought versions is the depth of flavor from fresh ingredients and the rich, cheesy base made from scratch. No cream-of-something canned soup needed—this is the real deal.
It’s also incredibly practical for busy households. Make a big pot on Sunday and enjoy easy, comforting lunches all week long. The soup actually improves in flavor as it sits, making leftovers even more delicious than the first bowl.
Whether you’re feeding a family, meal prepping for the week, or just craving a bowl of something warm and wonderful, this creamy vegetable soup delivers every single time.