This Creamy Tomato Basil Parmesan Soup is one of my favorite ways to savor the cozy flavors of home. I love how it’s packed with hidden vegetables like carrots, celery, and onions, yet maintains that silky, restaurant-quality richness with the creamy Parmesan finish. It warms me from the inside out—perfect for a simple weeknight dinner or a comforting meal any time.
Why I’ll Love This Recipe
I like that this soup is flavorful, nourishing, and surprisingly manageable. The blend of tomatoes and hidden veggies creates a robust base, then it transforms with a golden roux, velvety half-and-half, and sharp Parmesan. Plus, there’s flexibility in how to make it—on the stove, in a slow cooker, or even in an Instant Pot—so I can adapt it to my schedule.
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
-
Olive oil
-
Diced tomatoes (canned, with juice)
-
Carrots, finely diced
-
Onion, finely diced
-
Celery, finely diced
-
Tomato paste
-
Low-sodium chicken broth
-
Dried oregano
-
Dried basil
-
Butter
-
All-purpose flour
-
Freshly grated Parmesan cheese
-
Half-and-half (or whole milk)
-
Salt and freshly ground black pepper
-
Fresh basil, chopped
Directions
-
I sauté the diced carrots, onion, and celery in olive oil until tender.
-
I stir in diced tomatoes, tomato paste, chicken broth, oregano, and basil; bring to a boil and let it simmer briefly.
-
I use an immersion blender (or blend in batches) to purée until smooth, then return it to the pot.
-
In a separate saucepan, I make a roux by cooking butter with flour until it’s a rich golden brown.
-
I whisk a ladle of soup into the roux to form a paste, then gradually whisk in more soup until smooth, and combine it back into the main pot.
-
I stir in Parmesan cheese, half-and-half (or milk), salt, pepper, and fresh basil. I adjust the seasoning and heat through until perfectly creamy.
Servings And Timing
This recipe yields 8 servings, with about 20 minutes of prep time and 20 minutes of cook time—perfect for a 40-minute meal with minimal effort.
Variations
-
Slow Cooker: I toss all the base ingredients into the slow cooker for 5–6 hours, then stir in the roux, purée it, and finish with cream and cheese.
-
Instant Pot: I follow the same base process and then blend and finish as usual.
-
Dairy-Free: I swap out half-and-half for a plant-based milk alternative and omit cheese—or use a dairy-free Parmesan substitute.
-
Vegetarian: I replace chicken broth with vegetable broth for a meatless version.
Storage/Reheating
I store leftovers covered in the refrigerator for up to 4–5 days. If I freeze it, I leave out the cream and cheese, and stir them in only after reheating to prevent curdling.
FAQs
-
Can I make this gluten-free?
Yes—I substitute the all-purpose flour with a gluten-free flour blend when making the roux. -
What if I don’t have an immersion blender?
No worries—just blend in batches using a regular blender until smooth, then return it to your pot. -
How can I serve this soup?
I love pairing it with crusty bread, a bread bowl, or a grilled cheese sandwich. -
Can I skip the roux?
Skipping the roux will result in a thinner texture. The roux is key for a creamy consistency—though you can reduce the butter slightly if needed. -
Does it taste better the next day?
Yes—it actually develops more flavor after resting in the fridge, making it an excellent make-ahead meal.
Conclusion
This Creamy Tomato Basil Parmesan Soup has charmed its way into my go-to soup lineup. I love how it’s both indulgent and nourishing, with a depth of flavor you’d expect from a fine restaurant. Whether I make it on the stove or let it simmer slowly all day, it’s so satisfying and reliable.
Creamy Tomato Basil Parmesan Soup
5 Stars 4 Stars 3 Stars 2 Stars 1 Star
No reviews
A velvety tomato basil soup enriched with Parmesan cheese and hidden vegetables, creating a creamy, restaurant-quality comfort dish that’s easy to prepare on the stove, in a slow cooker, or in an Instant Pot.
- Author: Sophia
- Prep Time: 20 minutes
- Cook Time: 20 minutes
- Total Time: 40 minutes
- Yield: 8 servings
- Category: Soup
- Method: Stovetop
- Cuisine: American
- Diet: Vegetarian
Ingredients
- 2 tbsp olive oil
- 2 (28 oz) cans diced tomatoes, with juice
- 2 carrots, finely diced
- 1 onion, finely diced
- 2 ribs celery, finely diced
- 2 tbsp tomato paste
- 4 cups low-sodium chicken broth (or vegetable broth for vegetarian)
- 1 tsp dried oregano
- 1 tsp dried basil
- 4 tbsp butter
- 1/4 cup all-purpose flour (or gluten-free flour blend)
- 1/2 cup freshly grated Parmesan cheese
- 1 cup half-and-half (or whole milk, or plant-based alternative)
- 1 tsp salt (adjust to taste)
- 1/2 tsp freshly ground black pepper
- 1/4 cup chopped fresh basil
Instructions
- In a large soup pot, heat olive oil over medium-high heat. Sauté carrots, onion, and celery until softened.
- Add diced tomatoes, tomato paste, chicken broth, oregano, and dried basil. Bring to a boil, then simmer until vegetables are tender.
- Blend the soup with an immersion blender (or in batches in a regular blender) until smooth. Return to the pot.
- In a separate saucepan, melt butter over medium-low heat. Stir in flour and whisk for about 10 minutes until golden brown.
- Whisk a ladle of soup into the roux to form a paste. Gradually whisk in more soup until smooth, then add this mixture back to the main pot.
- Stir in Parmesan cheese, half-and-half, salt, pepper, and fresh basil. Simmer until heated through. Adjust seasoning as needed and serve hot.
Notes
- For a slow cooker version, combine all base ingredients and cook on low for 5–6 hours before blending, then finish with roux, cream, and cheese.
- In the Instant Pot, follow the same process using the sauté function, then pressure cook for 10 minutes before blending and finishing.
- Make it dairy-free by using plant-based milk and dairy-free Parmesan.
- Omit chicken broth for a vegetarian option, using vegetable broth instead.
- Freeze before adding cream and cheese for best texture; stir them in after reheating.
Nutrition
- Serving Size: 1 cup
- Calories: 190
- Sugar: 8g
- Sodium: 650mg
- Fat: 11g
- Saturated Fat: 6g
- Unsaturated Fat: 4g
- Trans Fat: 0g
- Carbohydrates: 17g
- Fiber: 4g
- Protein: 6g
- Cholesterol: 30mg