When you’re craving something warm, rich, and familiar, few things satisfy like a bowl of creamy tomato soup. It’s that timeless dish you grew up with — smooth, savory, and deeply comforting. Whether it’s served next to a crispy grilled cheese or savored solo with a spoon, this recipe promises the same cozy satisfaction in every bite.
Tomato soup has a long culinary history around the world, with countless interpretations in different regions. The American-style creamy version became a kitchen classic in the 20th century thanks to its simplicity and soul-soothing appeal. This version brings it into the modern kitchen with fresh ingredients, no preservatives, and a depth of flavor you won’t find in any can.
Quick to prepare, budget-friendly, and endlessly customizable, this soup is an easy go-to for lunch, dinner, or meal prep. Let’s dive into how to make this kitchen favorite from scratch.
Ingredient Highlights

Each ingredient here serves a purpose—bringing balance, texture, and depth to the final result. Let’s break it down:
-
Tomatoes (fresh or canned)
High-quality canned tomatoes, like San Marzano, deliver bold flavor with minimal effort. Fresh tomatoes are also great—especially Roma or plum varieties—but roasting them first is key to unlocking their sweetness. -
Yellow onion
Adds a mild sweetness that enhances the tomato’s natural acidity. Chop finely and sauté until soft for the best texture. -
Garlic
A couple of cloves go a long way. Garlic adds warmth and builds the flavor foundation of the soup. -
Carrot
Just one small carrot adds natural sweetness, balancing the sharpness of the tomatoes without adding sugar. -
Olive oil or butter
Butter gives a rich base, while olive oil keeps things dairy-free. Either option will create a silky texture and help bring the aromatics to life. -
Vegetable or chicken broth
Broth adds body and helps meld the flavors. Use vegetable broth for a plant-based version or chicken for a heartier depth. -
Cream or coconut milk
Heavy cream is classic, offering that silky smooth finish. For a dairy-free twist, full-fat coconut milk delivers creaminess without changing the flavor too much. -
Fresh basil or dried herbs
Basil adds freshness and aroma. Use fresh if you can; if not, dried basil will work when simmered with the tomatoes. -
Salt and black pepper
These basics are essential—season gradually and taste as you go to keep everything balanced. -
Optional flavor boosters
A dash of red pepper flakes or a bit of smoked paprika can add subtle heat or smoky depth.
How to Make Creamy Tomato Soup
This soup is made in one pot, with a few easy steps that bring maximum flavor:
-
Start with aromatics
Heat olive oil or butter in a large pot. Add chopped onion and carrot, cooking for about 6 to 8 minutes until soft and slightly golden. Stir regularly to avoid burning. -
Add garlic and dry seasonings
Toss in minced garlic and any dried herbs or optional spices. Cook for another minute to bloom the flavors. -
Introduce the tomatoes
Pour in the canned tomatoes, juice included. Break them up with your spoon. Add the broth and stir. Bring everything to a light boil. -
Simmer to build flavor
Reduce heat and simmer for about 20 minutes. This step softens the acidity and allows everything to meld together beautifully. -
Blend until silky
Use an immersion blender for easy cleanup, or transfer the soup carefully in batches to a countertop blender. Blend until smooth. -
Stir in the cream and basil
Return the soup to the pot if needed, then add the cream or coconut milk. Stir in fresh basil and let it simmer for a couple more minutes. -
Taste and adjust
Add salt and pepper to your liking. If the soup feels too thick, thin it with a splash of broth. A pinch of sugar can help if the acidity is still too strong.
Modifications, Substitutes & Helpful Advice
-
Try roasted tomatoes
For deeper flavor, roast fresh halved tomatoes with olive oil and garlic at 400°F for 25–30 minutes before adding to the pot. -
Make it vegan
Use olive oil and swap the heavy cream for full-fat coconut milk or a homemade cashew cream. Stick with vegetable broth. -
Keep it low-carb
Skip the carrot and increase onion for natural sweetness without the added sugars. -
Prefer texture?
Pulse briefly with the blender to keep a bit of chunkiness. -
Boost the flavor
Add a bay leaf or thyme sprig during simmering. Remove before blending. -
Heat it up
Red chili flakes or chipotle powder can bring a subtle kick to each bite.
Serving Suggestions
This tomato soup is a chameleon—it pairs well with everything from simple sides to hearty mains:
-
Grilled cheese sandwich
This pairing is legendary. Try sharp cheddar or mozzarella on sourdough or whole grain bread. -
Serve in small bowls
Makes a wonderful starter for holiday dinners, brunches, or casual get-togethers. -
Add a garnish
Swirl in extra cream, sprinkle chopped basil, or add homemade croutons for extra crunch and flair. -
Make ahead and freeze
This soup stores well. Freeze in individual portions for up to three months for a quick and satisfying meal anytime.
Nutrition Notes
Tomato soup may be creamy and comforting, but it’s also filled with good-for-you ingredients. Tomatoes offer antioxidants like lycopene, known for supporting heart health. The garlic, onion, and carrot add anti-inflammatory benefits and fiber.
If you’re watching calories or fat, you can lighten this dish by using a splash of low-fat milk or unsweetened almond milk instead of cream. For those on dairy-free diets, coconut milk adds creaminess with healthy fats.
With around 220 calories per serving (without grilled cheese), this soup fits nicely into a balanced meal plan.
Frequently Asked Questions
Q1: Can I use fresh tomatoes instead of canned?
Yes! Fresh tomatoes are fantastic, especially when roasted. Choose firm varieties like Roma or plum, roast them for added sweetness, and use them in place of canned.
Q2: How can I make this recipe dairy-free?
Replace butter with olive oil and heavy cream with coconut milk or any plant-based cream alternative. The result is still rich and satisfying.
Q3: My soup is too tangy—how do I fix it?
Acidic tomatoes can sometimes overpower the dish. Try simmering longer to reduce sharpness, or stir in a small pinch of sugar or splash of cream to mellow things out.
Q4: Can this soup be frozen?
Absolutely. Cool the soup completely, portion into airtight containers, and freeze for up to three months. Reheat gently over the stove for best texture.
Q5: Is this recipe naturally gluten-free?
It is! Just make sure any store-bought broth or cream substitutes are certified gluten-free if you’re cooking for someone with sensitivities.
Q6: What toppings go well with tomato soup?
Try homemade croutons, a drizzle of olive oil, fresh basil leaves, or shredded Parmesan. Toasted pine nuts or crispy chickpeas also add crunch and flavor.
Q7: Can I make this in a slow cooker?
Yes. After sautéing the onions, garlic, and carrots on the stovetop, transfer to a slow cooker with the tomatoes and broth. Cook on low for 4 to 5 hours, then blend and finish with cream and basil before serving.
This homemade creamy tomato soup is rich, smooth, and filled with flavor. Made with real tomatoes, aromatics, and a splash of cream, it’s a cozy meal that’s easy to make and freezer-friendly.
- Prep Time: 10 minutes
- Cook Time: 20 minutes
- Total Time: 30 minutes
- Yield: 4 servings 1x
Ingredients
-
2 tbsp olive oil or butter
-
1 medium yellow onion, diced
-
2 garlic cloves, minced
-
1 small carrot, chopped
-
1 (28 oz) can whole peeled tomatoes
-
2 cups vegetable or chicken broth
-
1/2 tsp salt
-
1/4 tsp ground black pepper
-
1/4 cup heavy cream or full-fat coconut milk
-
1/4 cup chopped fresh basil or 1 tsp dried basil
-
Optional: 1/4 tsp smoked paprika or red pepper flakes
Instructions
-
Heat oil or butter in a large pot. Sauté onion and carrot for 6–8 minutes until softened.
-
Add garlic and optional spices. Stir and cook for 1 minute.
-
Pour in tomatoes with juices and add broth. Stir, bring to a boil, then lower heat and simmer uncovered for 20 minutes.
-
Blend the soup until smooth using an immersion or countertop blender.
-
Return soup to pot if needed. Stir in cream and basil. Simmer for another 2–3 minutes.
-
Season to taste with salt and pepper. Thin with broth if needed.