This post may contain affiliate links. See my disclosure for more info.
This homemade dairy-free tomato soup uses roasted tomatoes, fresh basil, caramelized shallots, & other key ingredients to give it a complex flavor (and canned tomato soup a serious run for its money).

This soup reminds me of the changing seasons. It holds onto the bright and rich flavors of summer but serves them up in a cozy twist preparing us for the colder months ahead.
Although it’s still technically summer until the 22nd of September, fall has always been a favorite season of mine. Between the changing colors of leaves, sweater weather, warm baked apples, and the crisp air, I love it all.
Ingredients
- roma tomatoes (also called plum) – the riper and juicier the better
- garlic cloves – umami flavor
- shallots – caramelizing them first adds dimension to the soup
- tomato paste – helps give the soup a really concentrated tomato flavor and gives it lots of umami notes
- broth – chicken or vegetable
- fresh thyme sprigs – more flavor
- fresh basil leaves – adds freshness and loads of flavor
- olive oil – for roasting the tomatoes and also adding depth to the soup
- salt & pepper – to taste
- dairy-free butter (optional) – gives it a richer flavor
- cashew cream (optional add-in) – if you want a creamy soup

How to Make Dairy-Free Tomato Soup
- Preheat oven to 400ºF.
- Halve the tomatoes. Cut in half lengthwise, remove stem and place on a lined baking tray in a single layer along with the peeled garlic cloves. Drizzle with 3-4 tablespoons olive oil, season with salt & pepper and bake for 45 minutes.
- Dice and caramelize the shallots. Peel and dice the shallots. Heat a soup pot over medium heat. Once hot, add 1 tablespoon olive oil and the diced shallot. Cook for 10 minutes stirring occasionally. Season with salt & pepper and stir in the tomato paste. Cook for another 2-3 minutes. Remove from the heat and set aside.
- Make the soup. Put the shallot pot back on over medium heat. Add the roasted tomatoes, garlic (and the juicy bits on the baking sheet) along with the broth, basil, and thyme leaves. Cook over medium high heat for about 5-8 minutes. Turn off heat.
- Blend it up. Go in with an immersion blender until you’ve reached your desired consistency – either completely smooth or with a little texture. Season with salt and pepper.
- Optional add-ins: dairy-free butter for a richer flavor or cashew cream. Drizzle with more olive oil for serving.

Make It Your Way: Ingredient Substitutions
Please remember that recipes are just a starting point.
How can you make this dairy-free roasted tomato soup using what you already have? Here are some ideas…
- No roma or plum tomatoes? ➝ use heirloom if you have them
- No shallots? ➝ use a red, yellow, or white onion instead
- No fresh thyme? ➝ sub 1/2 tsp dried thyme
- No tomato paste? ➝ use 4 tablespoons tomato sauce or puree instead, but you’ll have to cook it down a little longer to reduce it to have a similar concentrated flavor
Helpful Tips
Tomatoes not ripe?
When I first made this soup, my tomatoes were pretty unripe. So, to speed up the process, I put them in a paper bag and folded over the top, and left them on the counter for a couple of days. Once their skin had turned a deeper hue of red and they were soft to the touch, I knew dairy-free tomato soup was on the menu.
No immersion blender?
You can make this soup in a standup blender, just make sure to leave plenty of room at the top. Also, you’ll likely have to do it in two batches.
Use fresh, not dried
The fresh basil leaves add another dimension of flavor to the soup that wouldn’t be the same with dried basil.
More Dairy-Free Recipes You’ll Love
- Fluffy Blueberry Dairy-Free Pancakes
- Dairy-Free Margherita Pasta
- Creamy Chicken Corn Chowder (Vegan Option)
- Dairy-Free Stuffed Peppers
Please let me know how your dairy-free roasted tomato soup turns out in the comments!


Dairy-Free Roasted Tomato Soup With Basil
Ingredients
- 3 pounds roma or plum tomatoes or substitute
- 5 cloves garlic, peeled
- 4-5 tbsp olive oil, divided
- 3 shallots, diced or substitute
- 2 tbsp tomato paste or substitute
- 1½-2 cups chicken or veggie broth depending on how thick you want your soup
- 3 fresh thyme sprigs, leaves removed or substitute
- 1 cup fresh basil leaves + more for serving
- salt & pepper, to taste
Optional Add-ins
- 1 tbsp dairy-free butter
- cashew cream
Instructions
- Preheat oven to 400°F.
- Halve the tomatoes. Cut in half lengthwise, remove stem and place on a lined baking tray in a single layer along with the peeled garlic cloves. Drizzle with 3-4 tablespoons olive oil and season with salt and pepper. Bake for 45 minutes.
- Dice and caramelize the shallots. Peel and dice the shallots. Heat a soup pot over medium heat. Once hot, add 1 tablespoon olive oil and the diced shallot. Cook for 10 minutes stirring occasionally. Season with salt & pepper and stir in the tomato paste. Cook for another 2-3 minutes. Remove from the heat and set aside.
- Make the soup. Put the shallot pot back on over medium heat. Add the roasted tomatoes, garlic (and the juicy bits on the baking sheet) along with the broth, basil, and thyme leaves. Cook over medium high heat for about 5-8 minutes. Turn off the heat.
- Blend it up. Go in with an immersion blender until you’ve reached your desired consistency – either completely smooth or with a little texture. Season with salt and pepper.
- Optional add-ins: dairy-free butter for a richer flavor or cashew cream. Drizzle with more olive oil for serving.
Notes
- How can you make this dairy-free roasted tomato soup using what you already have? Here are some ideas…
- No Roma or plum tomatoes? ➝ use heirloom if you have them
- No shallots? ➝ use a red, yellow, or white onion instead
- No fresh thyme? ➝ sub 1/2 tsp dried thyme
- No tomato paste? ➝ use 4 tablespoons tomato sauce or puree instead, but you’ll have to cook it down a little longer to reduce it to have a similar concentrated flavor
Leave a Reply