BJ's Tomato Soup Recipe: Celery Crown Crunch Over Smoky Herb Broth

Soups & Stews

BJ's Tomato Soup Recipe: Celery Crown Crunch Over Smoky Herb Broth

BJ's tomato soup recipe brings that iconic restaurant flavor home with a velvety, smoky broth topped with crispy celery crowns. 💛 The secret lies in slow-cooked tomatoes, aromatic herbs, and a perfect balance of sweetness and acidity that transforms simple ingredients into something extraordinary.

This isn't just tomato soup—it's comfort food elevated, with layers of flavor that make every spoonful irresistible.

What sets this recipe apart is the technique: simmering fresh tomatoes with onions, garlic, and herbs until deeply flavorful, then blending to create a silky base. The celery crowns add a satisfying crunch that contrasts beautifully with the smooth soup.

Unlike many recipes, this version delivers that signature BJ's taste without shortcuts—just careful cooking and proper seasoning.

By the time you're done, you'll have a bowl of restaurant-quality tomato soup with rich, smoky depth and that perfect celery crown topping. The aroma alone will have everyone gathering around the table, and the flavor will keep them coming back for seconds.

This is the kind of soup that feels like a warm hug on a chilly day.

Serve it with classic grilled cheese sandwiches for the ultimate comfort meal, or enjoy it as-is with a sprinkle of fresh basil. The recipe scales easily for crowds, making it perfect for family dinners or holiday gatherings. Let's get started on making this timeless favorite at home.

👨‍🍳
Difficulty
Medium
🍗
Diet
Poultry
🔥
Calories
Low Cal

Ingredients for bj's tomato soup

The secret to BJ's iconic tomato soup starts with these 15 ingredients—simple but powerful.

Ingredient Amount Notes
Fresh Roma Tomatoes 🍅 2 ½ lb Heirloom or vine-ripened preferred
Yellow Onion 🧅 1 whole Medium-sized, diced
Garlic Cloves 🧄 6 cloves Freshly minced, aromatic
Celery Stalks 🥬 4 whole Fresh, for crowns and broth
Fresh Thyme 🌿 ¼ cup Leaves only, stems removed
Fresh Basil 🌿 ¼ cup Leaves only, for garnish
Olive Oil 🫒 ½ cup Extra-virgin, for richness
Chicken Broth 💧 2 cups Low-sodium preferred
Tomato Paste 🍅 2 tbsp Smooth, for depth
White Wine 🍷 ½ cup Dry, like Sauvignon Blanc
Sugar 🍚 1 tbsp Granulated, balances acidity
Salt 🧂 1 ½ tsp Kosher or sea salt
Black Pepper 🌶️ ½ tsp Freshly ground, for warmth
Heavy Cream 🥛 ½ cup Full-fat for velvety texture
Parmesan Cheese 🧀 ¼ cup Freshly grated, for garnish

Tomatoes are the heart of this soup, so pick ripe, flavorful ones. Trader Joe's and local farmers markets have the best heirloom varieties—roma tomatoes are my go-to because they're meaty and less watery. The celery? Grab fresh, crisp stalks—they make all the difference in those crispy crowns. For the herbs, fresh thyme and basil add that signature BJ's aroma, but if you're in a pinch, dried works at half the amount. Just don't skip them—they're what makes this taste like the restaurant version. And that white wine? It's not just for flavor; it cuts through the acidity like magic.

No fresh tomatoes? Canned San Marzano tomatoes are the next best thing—they're sweeter and less acidic. Out of white wine? Apple cider vinegar or lemon juice works in a bind, but you'll need to adjust the sugar to balance it. The heavy cream is non-negotiable for that silky texture, but if you're avoiding dairy, coconut cream works surprisingly well. For the celery crowns, don't overcrowd the pan—they need room to crisp up. And if you're making this ahead, skip adding the cream until reheating so it doesn't break.

This soup tastes even better the next day, so make a double batch if you can. Store it in the fridge for up to 5 days, and freeze portions for 3 months. The celery crowns crisp best when made fresh, but you can prep them ahead and reheat in the oven at 400°F for 5-7 minutes. Garnish with fresh basil and Parmesan right before serving—it adds that restaurant-worthy touch. And if you're serving with grilled cheese, make the sandwiches first so they're ready when the soup is done.

❤️

Why You'll Love This Recipe

  • Fewer Ingredients, More Flavor: I swear by this—just five core ingredients (plus salt and pepper) transform into something rich and layered. No cream, no heavy roux, just the bright acidity of Roma tomatoes, the slow caramelized sweetness of onions, and that pop of thyme when you stir it in at the end. It’s the kind of soup where you taste each ingredient clearly, not drowned out.
  • Weeknight Magic: Honestly, this is my go-to when I’m staring at a half-empty fridge at 6:30 PM wondering what to feed everyone. Toss in the chopped veggies, let them simmer while I chop a baguette, and boom—dinner’s ready. The celery adds this subtle crunch that makes it feel intentional, not lazy.
  • Leftovers That Don’t Suck: Between us, most tomato soups turn into sad, watery sludge after day two. Not this one. The garlic and thyme keep it vibrant, and the texture stays velvety smooth. I double the batch on Sundays, freeze half, and reheat it like it’s fresh. My kids don’t even question it—just ask for seconds.
  • Budget Meal, Big Payoff: Roma tomatoes are cheaper than vine-ripened, and onions, garlic, and celery last for ages. This recipe stretches to feed four for under $8, and the flavor? Ridiculously good. It’s the kind of soup that makes you feel like you spent hours cooking, even though you didn’t. (Yes, even on a Tuesday night.)

Step-by-step instructions for BJ's tomato soup recipe

This is where the magic happens—rich, smoky tomato broth meets crispy celery crowns for a symphony of textures.

1

🔥 Step 1: Sauté the Vegetable Base

Heat the 0.5 cup olive oil in a large Dutch oven over medium heat. Add the 1 whole yellow onion and 4 whole celery stalks (cut into 1-inch pieces), cooking for 8-10 minutes until softened and golden. This is your flavor foundation—don't rush it.

Add the 6 cloves garlic cloves and 0.25 cup fresh thyme leaves, stirring for 1 minute until fragrant. Here's the thing—if you smell the garlic burning, lower the heat immediately. We want aroma, not bitterness. The celery should be tender but not mushy; you'll save the crispy crowns for later.

2

🍳 Step 2: Build the Tomato Broth

Add the 2.5 lb fresh Roma tomatoes (halved and deseeded), 2 tbsp tomato paste, 0.5 cup white wine, 1 tbsp sugar, 1.5 tsp salt, and 0.5 tsp black pepper. Stir well to combine, then pour in the 2 cups chicken broth. Bring everything to a gentle boil, then reduce heat to low and simmer uncovered for 30 minutes. This slow cook transforms raw ingredients into velvety tomato perfection.

While simmering, cut the remaining celery stalks into ½-inch thick rounds for the crispy crowns. You'll add these later—trust me, timing matters for that perfect crunch.

3

🥘 Step 3: Blend and Finish the Soup

Use an immersion blender to purée the soup until completely smooth—no chunks allowed. If you don't have one, transfer carefully to a countertop blender (in batches) and return to the pot. Strain through a fine-mesh sieve if you prefer ultra-silky texture. Taste and adjust seasoning—this is where you decide if it needs more salt or a touch of sugar to balance acidity.

Return the soup to the pot and stir in the 0.5 cup heavy cream. Keep heat at low and simmer for 5 minutes—just enough to warm through without curdling the cream. The soup should be rich but not heavy; if it's too thick, add ¼ cup water to reach your desired consistency.

4

🔥 Step 4: Crisp the Celery Crowns

Heat 2 tablespoons olive oil in a separate skillet over medium-high heat until shimmering. Add the celery rounds in a single layer and cook for 2-3 minutes per side until golden brown and crispy. They'll crisp faster than you think—watch closely! Transfer to paper towels to drain excess oil.

Real talk: If they stick, don't panic. Just add a splash of water and scrape them out with a spatula. The goal is crispy, not burnt—think golden brown like toasted breadcrumbs, not charred.

5

🍽️ Step 5: Assemble and Garnish

Ladle the warm soup into bowls, then top each serving with 3-4 crispy celery crowns and a sprinkle of 0.25 cup freshly grated Parmesan cheese. The contrast of creamy soup with crunchy celery is what makes this dish unforgettable. Finish with a few fresh basil leaves for that bright, herbaceous pop of color.

Serve immediately while the celery crowns are still crisp. The soup will continue to develop flavor as it sits, but those crowns? They're best eaten fresh from the skillet. Pair with crusty bread to soak up every last drop of that smoky, herby goodness.

👨‍🍳

Pro Tips For Making Bj'S Tomato Soup

  • Char the Onion First: I learned this the hard way—sweating the onion in BJ’s recipe makes the soup taste blander. Instead, cook it over medium-high heat until the edges turn deep golden brown, almost caramelized. That’s where the real flavor lives, and it’ll carry through the whole soup.
  • Cut Tomatoes in Half: Roma tomatoes are stubborn little things. Halving them skin-side down before simmering guarantees they’ll release their juices and soften evenly—no more floating whole orbs staring back at you like judgmental orbs. (Yes, I’ve stared into the pot and questioned my life choices.)
  • Don’t Rush the Celery: The celery in this soup isn’t just for texture—it’s for depth. Cook it until it’s tender but still holds its shape, about 8-10 minutes. If you rush it, you’ll end up with a mushy, watery base that’ll make the whole dish taste flat. Patience here makes all the difference.
  • Toast the Garlic: After the onions and celery soften, add the minced garlic and let it sizzle for 30 seconds until it smells intoxicatingly fragrant. That’s the moment it goes from “functional” to “wow.” Skip this, and you’re just eating a mild, forgettable soup. (And nobody wants that.)

Health benefits of this dish

Heart-Warming Comfort

This tomato soup is pure comfort in a bowl, packed with vitamin C from fresh tomatoes that boosts your immune system while providing 15% of your daily needs per serving. The creamy texture from heavy cream adds richness, but it also delivers healthy fats that keep you satisfied longer.

I always make extra when I'm feeling under the weather—it's like a warm hug for your body. 💛

Digestive Benefits

The fiber in fresh tomatoes aids digestion and keeps your gut happy, while the celery crowns add extra fiber and water content that helps prevent constipation. I notice my digestion improves when I eat tomato soup regularly—it's gentle but effective.

The broth also contains natural compounds that may help reduce inflammation in your body.

Protein Boost

While not a protein powerhouse like meat, this soup still provides 5-6 grams of protein per serving from the chicken broth and heavy cream. The Parmesan cheese topping adds another 2 grams per tablespoon, making it a more complete meal.

For a protein upgrade, I sometimes stir in a splash of Greek yogurt instead of some of the cream—it adds creaminess with extra protein.

Antioxidant Powerhouse

Fresh tomatoes are loaded with lycopene, a powerful antioxidant that gives them their red color and helps fight cell damage. The soup's herbs—thyme and basil—contain additional antioxidants that support overall health.

I always use fresh herbs when possible because they contain more antioxidants than dried versions. The white wine used in the recipe also contributes beneficial polyphenols.

Balanced Nutrients

This soup provides a nice balance of nutrients: vitamin A from tomatoes supports vision, potassium helps regulate blood pressure, and folate supports cell growth. The celery adds vitamin K for bone health.

I love that this simple bowl delivers so many benefits without feeling like a health lecture. It's the kind of meal that makes you feel good about what you're eating.

Low-Calorie Comfort

At around 250-300 calories per serving, this soup is surprisingly light for how satisfying it is. The fiber and protein content help you feel full while keeping calories in check. I often serve it as a starter before a main course to curb overeating.

The celery crowns add satisfying crunch without many calories—just 10 calories per crown! It's the perfect balance of comfort and nutrition. 💪

Nutrition facts

Servings 6
Amount Per Serving
Calories 280kcal
% Daily Value *
Total Fat 18g23%
Saturated Fat 7g35%
Cholesterol 30mg10%
Sodium 850mg37%
Total Carbohydrate 25g9%
Dietary Fiber 5g18%
Sugars 12g
Protein 8g16%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I make this tomato soup without fresh tomatoes?

Use 2 (28 oz) cans of high-quality San Marzano tomatoes instead. Crush them by hand before adding to the pot to mimic fresh texture. For extra depth, add 1 extra tablespoon tomato paste and reduce the broth by ½ cup since canned tomatoes are more watery. The flavor will still be rich and authentic.

2

How do I prevent the celery crowns from getting soggy?

Crispy celery crowns are all about timing and technique. Cook them in batches over medium-high heat until golden brown (about 2-3 minutes per side), then immediately transfer to a paper towel-lined plate. Add them to the soup right before serving—never ahead of time. If reheating leftovers, crisp fresh crowns separately and add them to individual bowls.

3

Can I make this soup in a slow cooker?

Yes, but with adjustments. Sauté the onions, celery, garlic, and thyme first in a skillet, then transfer everything to the slow cooker. Cook on low for 6-7 hours instead of simmering. After blending, stir in the cream and cook on high for 15 minutes just to warm through. The celery crowns still need to be pan-fried separately—slow cookers won't give them the crispy texture you want.

4

What's the best way to store leftovers?

Store the soup (without celery crowns) in an airtight container in the fridge for up to 5 days. For longer storage, freeze portions for 3 months. Reheat gently on the stove over low heat, stirring occasionally. The celery crowns don't reheat well—make fresh ones when serving leftovers. If the soup seems too thick after reheating, thin with a splash of warm water or broth.

5

Can I make this vegan?

Easily! Replace the heavy cream with ½ cup coconut cream or cashew cream, and use vegetable broth instead of chicken broth. For the celery crowns, use olive oil and cook as directed. The flavor will still be rich and satisfying, though the texture will be slightly lighter. Garnish with nutritional yeast instead of Parmesan for a cheesy flavor without dairy.

★★★★★5.0(12 reviews)
Categories Soups & Stews