Creamy Tomato Basil Parmesan Soup

This soup is like a warm hug in a bowl. It’s creamy, cheesy, and full of rich tomato flavor. Oh, and that fresh basil? So good.
I made it on a rainy day, and wow—it hit the spot. It’s simple, cozy, and tastes like something from a fancy café.
If you’ve got tomatoes, cream, and Parmesan, you need to try this. I promise, you’ll be going back for seconds.

Why You’ll Love This Recipe
- Reader Favorite: This soup is loved by so many, with readers calling it the “best tomato soup ever” and “the perfect blend of flavors.” It’s a crowd-pleaser that will win over even the pickiest eaters.
- Comforting and Hearty: Whether you’re having it on a cold winter day or after a busy week, this soup will wrap you up in warmth and satisfaction.
- Easy to Make: With a simple list of ingredients and straightforward steps, this recipe is one that you can whip up in no time.
- Meal Prep Friendly: You can easily make a large batch to store for later, making it an excellent choice for busy weeknights.
- Made from Scratch: This soup is completely homemade, and it’s so much better than anything you’ll find in a can!
Now, let’s dive into the details of what makes this soup so amazing and what you’ll need to make it.
Required Kitchen Tools
Before you get started, here are the essential tools you’ll need:
- Large Pot or Dutch Oven: This will be your main cooking vessel. A large pot helps to cook all the ingredients evenly and allows for a smooth blending process.
- Blender or Immersion Blender: To get that creamy, smooth texture, you’ll need either a blender or an immersion blender. The immersion blender is perfect for easy cleanup!
- Wooden Spoon or Spatula: For stirring the soup as it simmers.
- Measuring Spoons and Cups: Precision in measurements is key to getting the perfect balance of flavors.
- Cutting Board and Knife: To chop your fresh ingredients—celery, carrots, onions, and herbs.

Ingredients
Here’s everything you’ll need to make this soup absolutely delicious. The ingredients below work together to create the rich, creamy, and flavorful soup base, with the tomatoes and basil taking center stage.
- Olive Oil: A rich and healthy oil to sauté your veggies and create a flavorful base for the soup.
- Finely Diced Celery: Adds a mild, earthy flavor to the soup’s base.
- Finely Diced Carrots: These add a hint of sweetness and texture to the soup.
- Finely Diced Onion: For depth of flavor and a savory aroma.
- Tomatoes: You can use fresh tomatoes, or for convenience, two cans of diced tomatoes with their juices. I recommend using tomatoes that are in season for the best flavor.
- Oregano: Fresh oregano is ideal, but dried oregano also works well if fresh is not available.
- Basil: Fresh basil is best, as it brings a vibrant herbal flavor to the soup.
- Chicken Broth: Adds a savory, rich foundation to the soup. You can substitute vegetable broth if you’re making it vegetarian.
- Butter: For sautéing the veggies and creating a rich base.
- Flour: Helps thicken the soup for a creamy consistency.
- Whole Milk or Half and Half: Use warmed milk or half-and-half for that creamy texture.
- Parmesan: Freshly grated parmesan cheese will add the final touch of richness and flavor.

Step-by-Step Instructions
1. Sauté the Vegetables
In a large pot or Dutch oven, heat olive oil over medium heat. Add the onion, carrots, and celery. Sauté for about 5-7 minutes until the vegetables become tender and the onions turn translucent. Stir occasionally to prevent burning. The aroma of these vegetables cooking together is absolutely mouthwatering and sets the stage for the rest of the soup.
2. Add the Tomatoes and Herbs
Once the vegetables are softened, it’s time to add the tomatoes, along with their juices (if using canned tomatoes). Stir everything together and add the oregano and basil. The basil will infuse the soup with a fresh, earthy flavor, while the oregano adds a hint of warmth. Let this simmer for about 5 minutes, allowing the flavors to meld together.
3. Make the Roux (Flour and Butter Mixture)
In a separate pan, melt butter over medium heat. Once melted, whisk in the flour to create a smooth paste. This mixture is called a roux, and it’s the key to thickening your soup. Cook the roux for about 1-2 minutes to get rid of the raw flour taste. Then, gradually add it to the simmering vegetable and tomato mixture. Stir everything together until smooth. This will thicken the soup to a creamy consistency.
4. Add the Chicken Broth and Milk
Slowly pour in the chicken broth while stirring constantly to prevent lumps. Once the broth is fully incorporated, add the warmed milk or half-and-half. The milk adds creaminess, making the soup rich and velvety. Stir everything together until fully combined, and bring the mixture to a gentle simmer. Let it cook for another 5 minutes, allowing the soup to thicken.
5. Blend the Soup
This is where the magic happens! To make the soup smooth and creamy, use an immersion blender directly in the pot, or transfer the soup in batches to a traditional blender. Blend until the soup reaches a smooth and velvety texture, with no chunks of vegetables or tomatoes remaining. If the soup is too thick, you can add a little more chicken broth or milk to reach your desired consistency.
6. Add the Parmesan and Adjust the Seasonings
Once the soup is blended to perfection, stir in the freshly grated parmesan cheese. This will give the soup that deep, savory umami flavor that makes it truly irresistible. Taste the soup and add salt and pepper to taste. If you like a little more acidity, a squeeze of fresh lemon juice can brighten up the flavor.
Serving and Decoration
The creamy, vibrant, and cheesy texture of this soup is perfect when served with crusty bread, a side salad, or even a grilled cheese sandwich for the ultimate comfort meal.

How to Serve Creamy Tomato Basil Parmesan Soup
There are several ways to enjoy this soup:
- With Grilled Cheese Sandwiches: The classic pairing! The crispy, buttery sandwich complements the smooth, creamy soup perfectly.
- With Crusty Bread: Serve the soup with a slice of fresh, crusty bread to dip into the velvety goodness.
- In a Bread Bowl: For an extra indulgent experience, serve the soup in a hollowed-out bread bowl. It’s as fun to eat as it is delicious!
- With Fresh Basil Garnish: Add a few fresh basil leaves on top for a vibrant touch of color and extra flavor.
- With a Dollop of Sour Cream or Crème Fraîche: For an extra creamy finish, a dollop of sour cream or crème fraîche will add richness to each spoonful.
Variations for Creamy Tomato Basil Parmesan Soup
1. Add More Vegetables
Want to pack more nutrition into your soup? You can easily add more vegetables like spinach, zucchini, or bell peppers. For spinach, simply add a couple of handfuls to the soup during the last 5 minutes of cooking. It will wilt into the soup, adding an extra layer of flavor and nutrition without overpowering the taste. Zucchini and bell peppers can be sautéed along with the carrots and celery for extra flavor.
2. Make it Spicy
If you like a little heat, you can easily spice up this soup with some red pepper flakes, chili powder, or fresh jalapeños. Adding a pinch of red pepper flakes when sautéing the vegetables will give your soup a mild kick. For a bolder heat, chop up some jalapeños and sauté them with the onions, carrots, and celery. You could even add a few dashes of hot sauce to the soup to give it a tangy, spicy twist.
3. Make it Vegetarian or Vegan
To make the soup vegetarian or vegan, there are a few easy swaps you can make:
- Replace the chicken broth with vegetable broth. This will keep the soup rich and savory without the meat.
- Swap the butter for vegan butter or olive oil to keep it plant-based.
- Replace the whole milk or half-and-half with coconut milk or almond milk for a dairy-free version. These milk alternatives will still give the soup a creamy texture, though coconut milk adds a subtle sweetness.
- Use nutritional yeast instead of parmesan for a cheesy, dairy-free option.
4. Add Protein
For a heartier version of the soup, you can add protein to make it more filling:
- Grilled Chicken: Adding shredded grilled chicken or diced chicken breasts can make the soup more substantial and turn it into a complete meal.
- Ground Turkey or Sausage: Brown some ground turkey or sausage and add it to the soup after sautéing the vegetables for extra flavor and protein.
- Chickpeas: For a vegetarian option, toss in a can of drained and rinsed chickpeas for added protein and texture.
5. Creamier Version
If you love extra creamy soups, you can make this recipe even richer by adding a dollop of cream cheese, heavy cream, or Greek yogurt to the finished soup. For an ultra-creamy version, try blending in a small amount of cream cheese with the parmesan to make the soup extra indulgent.
6. Roast the Tomatoes
To deepen the flavor of the tomatoes, try roasting them before adding them to the soup. Simply slice the tomatoes in half, drizzle them with olive oil, and roast them at 400°F (200°C) for about 25-30 minutes. Roasting the tomatoes brings out their natural sweetness and intensifies the flavor, making your soup even more flavorful.
7. Herb Variations
While basil and oregano are the stars of this recipe, you can experiment with different herbs to customize the flavor profile:
- Thyme: Add fresh or dried thyme for a more earthy, aromatic flavor.
- Rosemary: A small amount of rosemary can add a piney, woodsy note to the soup.
- Parsley: Fresh parsley added just before serving adds a fresh, grassy finish.

How to Store and Reheat Creamy Tomato Basil Parmesan Soup
If you have leftovers (which is likely because this recipe makes a large pot), storing and reheating your soup is easy! Here are some tips for storing it so that you can enjoy it later:
Storing the Soup
- Refrigerating: Allow the soup to cool to room temperature before transferring it into an airtight container. It will keep in the fridge for 3-4 days. When you’re ready to enjoy, simply reheat it on the stove or in the microwave.
- Freezing: You can also freeze this soup for later. Allow the soup to cool completely, and then transfer it to a freezer-safe container. It will keep in the freezer for up to 3 months. When ready to eat, thaw the soup overnight in the fridge and reheat on the stove. For best results, don’t freeze the soup with the dairy (like the parmesan) already added. Add the parmesan after reheating.
Reheating the Soup
- On the Stovetop: Pour the soup into a pot over medium heat. Stir occasionally and cook for 5-10 minutes until it’s heated through. You may need to add a splash of milk or broth to bring it back to the perfect consistency if it’s thickened up too much.
- In the Microwave: Transfer a portion of the soup to a microwave-safe bowl and heat for 1-2 minutes, stirring halfway through. If it’s too thick after reheating, simply add a little extra milk or broth to thin it out.
utritional Information (Per Serving, Based on 6 Servings)
Nutrient | Amount per Serving |
---|---|
Calories | 260 kcal |
Protein | 7g |
Fat | 18g |
Saturated Fat | 9g |
Carbohydrates | 19g |
Fiber | 3g |
Sugar | 7g |
Sodium | 800mg |
Cholesterol | 30mg |
Calcium | 150mg |
Iron | 1.5mg |
Note: Nutritional values are estimates and may vary depending on ingredient brands or substitutions.
Creamy Tomato Basil Parmesan Soup
Course: Uncategorized6
servings10
minutes30
minutes260
kcalIngredients
Olive oil: 2 tablespoons
Celery (finely diced): 2 stalks
Carrots (finely diced): 2 medium
Onion (finely diced): 1 large
Tomatoes: 4-5 medium or 2 cans (14.5 oz each) diced tomatoes with juices
Fresh oregano: 1 tablespoon or 1 teaspoon dried oregano
Fresh basil: 4 tablespoons, chopped (or 2 tablespoons dried basil)
Chicken broth: 4 cups (or vegetable broth for a vegetarian option)
Butter: 2 tablespoons
Flour: 2 tablespoons
Whole milk or half and half: 2 cups (warmed)
Salt and pepper: To taste
Freshly grated parmesan cheese: 1 cup
Directions
- Sauté the Vegetables: Heat the olive oil in a large pot over medium heat. Add the diced onion, carrots, and celery. Sauté for about 5-7 minutes, stirring occasionally, until the vegetables are tender and the onions are translucent.
- Add Tomatoes and Herbs: Stir in the tomatoes with their juices, oregano, and basil. Simmer for 5 minutes to blend the flavors.
- Make the Roux: In a separate pan, melt butter over medium heat and whisk in flour to form a paste. Cook for 1-2 minutes to remove the raw flour taste.
- Add Broth and Milk: Slowly whisk in the chicken broth, followed by the warmed milk or half-and-half. Stir everything together and bring the mixture to a simmer. Let cook for 5 minutes, stirring occasionally.
- Blend the Soup: Use an immersion blender directly in the pot, or carefully transfer the soup in batches to a blender. Blend until the soup is smooth and creamy.
- Add Parmesan and Season: Stir in the grated parmesan cheese until it melts into the soup. Taste and adjust with salt and pepper as needed.
- Serve: Ladle the soup into bowls, garnish with fresh basil, and serve with your favorite side, like grilled cheese sandwiches, crusty bread, or a salad.
Conclusion:
This Creamy Tomato Basil Parmesan Soup is the ultimate comfort food, perfect for any occasion. Whether you’re having a cozy night in, preparing a meal for a busy week, or treating your family to something special, this soup will never disappoint. The creamy texture, bright flavors from fresh basil, and the rich umami of parmesan will have you coming back for seconds (or thirds!). It’s easy to make, full of flavor, and versatile enough for you to customize with different vegetables, protein, or spice levels.
Try making it today, and I’m sure it will become a staple in your meal rotation. Plus, with leftovers that keep beautifully, you’ll have a comforting bowl of soup ready for lunch or dinner in no time.
FAQs: Creamy Tomato Basil Parmesan Soup
Can I make this soup in advance?
Yes! This soup actually tastes better the next day after the flavors have had time to meld together. You can make it ahead and store it in the fridge for up to 4 days. It also freezes well for up to 3 months—just let it cool completely before transferring to a freezer-safe container.
Can I make this soup without cream?
While this recipe calls for milk or half-and-half to achieve a creamy texture, you can easily substitute with a dairy-free milk like coconut milk, almond milk, or oat milk for a lighter, dairy-free version. The soup will still be creamy and delicious!
What if I don’t have fresh basil?
No worries! Dried basil works perfectly fine in this recipe. Just use about 2 tablespoons of dried basil in place of the fresh. If you have access to dried herbs, they’ll infuse the soup with flavor, though fresh basil always adds a brighter touch.
Can I use store-bought tomato sauce or puree instead of fresh tomatoes?
Absolutely! You can swap in canned tomato puree or store-bought tomato sauce if you’re short on fresh tomatoes. Just be sure to adjust the seasoning and taste, as store-bought varieties might be more or less tangy than fresh tomatoes.
How can I make this soup thicker or thinner?
If you prefer a thicker soup, reduce the amount of liquid (broth or milk) you add or simmer it longer to let it reduce. If it’s too thick, add more chicken broth or milk to thin it out to your desired consistency.
Can I make this soup in a slow cooker or Instant Pot?
Yes! To make this soup in a slow cooker, sauté the vegetables and herbs in a pan, then transfer them to the slow cooker along with the tomatoes, broth, and other ingredients. Cook on low for 4-6 hours or high for 2-3 hours. Blend the soup before serving and add the parmesan cheese. For the Instant Pot, follow the same process, but cook on high pressure for 10 minutes and then release the pressure naturally. Blend and stir in the parmesan before serving.