I’m so excited to share my Creamy Tomato Basil Soup with you! This is my go-to bowl when I want something cozy, bright, and a little bit fancy without any fuss. It’s loaded with hidden vegetables, blended silky smooth, and finished with a creamy, cheesy touch and lots of fresh basil. Perfect with an Italian grilled cheese or a slice of crusty bread.
Level: Easy
Total Time (stovetop): ~45 minutes
Prep Time: 15 minutes
Cook Time: 30 minutes
Yield: 8 servings
Course: Appetizer, Main Course, Soup
Cuisine: American / Italian-inspired
I’ve loved tomato basil soup for years — it’s warm, slightly tangy, and comforting in a way only tomato soup can be. This version sneaks extra veggies (carrots, celery, onion) into the pot so you get more nutrition and a fuller body without changing that classic tomato-basil flavor. You can make it on the stove, in a slow cooker, or in an Instant Pot depending on how much hands-off time you want. It also tastes even better the next day, which makes it great for meal prep.
Description
What makes this soup great:
- Hidden vegetables (carrots, celery, onion) for body and nutrition
- Diced tomatoes + tomato paste for concentrated tomato flavor
- A small roux (butter + flour) to thicken and make the texture luxuriously smooth
- Parmesan and half-and-half (or milk) for creamy, savory finish
- Fresh basil to brighten and finish each bowl
- Easy to adapt for slow cooker or Instant Pot
Ingredients
• 2 tablespoons olive oil (or 2 tbsp butter)
• 1 medium yellow onion, finely diced
• 2 medium carrots, peeled and diced (about 1 cup)
• 2 celery stalks, diced (about 1/2 cup)
• 3 garlic cloves, minced
• 2 (28-ounce) cans diced tomatoes (or ~8 cups fresh, peeled & chopped)
• 2 tablespoons tomato paste
• 4 cups low-sodium chicken broth (or vegetable broth for vegetarian)
• 1 teaspoon dried oregano
• 1 teaspoon sugar (optional — cuts acidity if needed)
• 1/2 teaspoon kosher salt (adjust later)
• 1/4 teaspoon black pepper, plus more to taste
• 1/2 cup fresh basil leaves, loosely packed, chopped (reserve a few for garnish)
— For the roux & finish —
• 3 tablespoons unsalted butter
• 3 tablespoons all-purpose flour
• 1 cup half-and-half or whole milk (use dairy-free milk + 2 tbsp olive oil for dairy-free)
• 1/3 cup grated Parmesan cheese (plus extra for serving)
Directions
Stovetop Method (recommended)
- Sauté the vegetables:
Heat olive oil (or 1 tbsp butter + 1 tbsp oil) in a large heavy pot over medium heat. Add the diced onion, carrots, and celery. Cook, stirring occasionally, until the onion is soft and the carrots begin to sweat, about 6–8 minutes. Add the garlic and cook 30–60 seconds until fragrant. - Add tomatoes and simmer:
Stir in the diced tomatoes, tomato paste, chicken broth, oregano, sugar (if using), salt and pepper, and most of the basil (reserve a little for garnish). Bring to a gentle boil, then reduce heat and simmer uncovered for 15–20 minutes, until the vegetables are tender and flavors have melded. - Blend the soup:
Turn off the heat. Use an immersion blender directly in the pot to purée the soup until smooth (leave a few spoonfuls unblended if you like texture). OR work carefully in batches with a stand blender: cool slightly, fill the blender no more than halfway, cover with a towel over the lid, and blend until smooth. Return blended soup to the pot. - Make the roux and thicken:
In a small skillet over medium heat, melt 3 tablespoons butter. Stir in 3 tablespoons flour and cook, whisking constantly, for about 6–8 minutes until the roux turns a light golden-brown and smells slightly nutty (this cooks out the raw flour flavor). Remove from heat. - Finish the soup:
Whisk a ladleful of warm soup into the roux to make a loose paste, then whisk in 1–2 more ladles until smooth. Slowly whisk this mixture back into the pot of soup. Stir in the half-and-half (or milk) and Parmesan until melted and smooth. Warm the soup gently until heated through (do not boil after adding dairy). Taste and adjust salt/pepper/basil. - Serve:
Ladle into bowls, garnish with reserved basil and extra grated Parmesan. Serve hot with grilled cheese or crusty bread.
Slow Cooker Method
- Add diced carrots, onion, celery, diced tomatoes, tomato paste, broth, oregano, basil, and sugar to the slow cooker. Stir to combine.
- Cover and cook on LOW for 5–6 hours (or HIGH 3–4 hours) until vegetables are very tender.
- About 30 minutes before serving, remove 1–2 cups of warm soup into a skillet and make the roux (butter + flour) as above. Temper the roux with some warm soup, whisk back into the slow cooker, then stir in half-and-half and Parmesan. Blend with an immersion blender in the slow cooker until smooth, or pour batches into a stand blender. Warm through and serve.
Instant Pot Method
- Using the Sauté function, heat oil and sauté onion, carrots, and celery until softened, 4–6 minutes. Add garlic, cook 30 seconds.
- Add diced tomatoes, tomato paste, broth, oregano, basil, salt, and pepper. Stir.
- Seal and cook on HIGH pressure for 8–10 minutes. Quick-release the pressure carefully.
- Use an immersion blender or stand blender to purée until smooth. Make roux separately (butter + flour), temper with hot soup, whisk back into the pot, stir in half-and-half and Parmesan, and warm on Sauté low until just heated through.
Process Details
- Why we sauté first: Cooking the onion, carrot, and celery softens them and builds base flavor (the classic mirepoix).
- Why a roux: The small butter+flour roux thickens the soup and gives a velvety mouthfeel without needing heavy cream. Browning the roux a bit adds a toasty depth.
- Blending safely: Hot liquids expand and create steam. Blend in small batches, vent the lid, and cover with a kitchen towel. Or use an immersion blender right in the pot.
- Dairy timing: Add the half-and-half and Parmesan at the end on low heat — avoid boiling after dairy is added so it doesn’t separate.

Tips for Success
- Hidden veg tip: Chop the carrots and celery uniformly so they cook evenly; they purée into the soup, adding body and nutrients.
- Tomato acidity: If the soup tastes too bright or tart, a teaspoon of sugar or a splash of cream balances it.
- Cheese choice: Freshly grated Parmesan melts better than pre-shredded. For extra richness, stir in a tablespoon of butter at the end.
- Make it lighter: Use low-fat milk instead of half-and-half, and reduce the roux to 2 tbsp butter + 2 tbsp flour.
- Dairy-free: Omit the roux and finish with a splash of canned coconut milk or cashew cream after blending. (If using cashews, soak ½ cup raw cashews 4 hours and blend into the soup.)
- Safety: Never overfill your blender with hot soup. Leave the top vented and hold a towel over the lid while pulsing.
Serving Ideas
- Classic pairing: Serve with an Italian grilled cheese sandwich for dipping.
- Bread: Crusty ciabatta, warm focaccia, or Olive Garden–style breadsticks.
- Salad: A simple wedge or green salad keeps the meal balanced.
- Garnishes: Croutons, a drizzle of olive oil, torn basil leaves, extra grated Parmesan, or a few croutons for crunch.
Storage & Freezing
- Refrigerator: Store in an airtight container for 4–5 days. Reheat gently on the stove.
- Freezing: Freeze without the dairy (leave out half-and-half and Parmesan). Freeze in airtight containers for up to 3 months. When reheating, thaw overnight, warm the soup, then stir in the dairy and cheese just before serving to avoid curdling.
Nutrition Info (approximate per serving)
• Servings: 8
• Calories: ~264 per serving (approximate — will vary with exact ingredients and dairy used)
• This soup provides vegetables plus a moderate amount of protein and fat from the dairy and Parmesan.
This Creamy Tomato Basil Soup is a weekday hero and a great make-ahead meal for busy weeks. It’s full of real vegetables, easy techniques, and that nostalgic tomato-and-basil flavor we all love — with a creamy, restaurant-style finish. Try it stovetop first to learn the steps; once you love it, the slow cooker and Instant Pot versions make it even simpler. Enjoy, and let me know how you like to serve yours!