Creamy Tomato Meatball Soup

This easy creamy tomato meatball soup combines tender bite-sized meatballs with a silky tomato and coconut milk broth for a cozy supper that’s ready in just 35 minutes!

Bowl of tomato meatball soup.

There’s nothing quite like a bowl of tomato soup on a chilly day—unless, of course, you fill that tomato soup with a whole collection of tender little meatballs!

This creamy tomato meatball soup is hearty enough for supper, easy enough for a busy weeknight and has one surprising ingredient that makes the tomato broth extra silky and delicious: coconut milk. And before you ask, nope—it doesn’t make the soup taste like coconut. It simply adds a rich, creamy texture that makes every spoonful downright dreamy!

Jump to:

🔎 A quick look at this recipe

  • What It Is: A silky tomato and coconut milk soup filled with tender, bite-sized beef meatballs.
  • Prep Time: 20 minutes
  • Cook Time: 15 minutes
  • Total Time: 35 minutes
  • Servings: 4 servings
  • Calories: 360
  • Cooking Method: Stovetop
  • Good For: Cozy weeknight suppers, chilly days and make-ahead lunches

⭐️ Why this recipe works

  • 🍅 Rich and Creamy: Coconut milk transforms the tomato broth into something wonderfully smooth and silky—without making it taste like coconut!
  • 🥩 Meatballs in Every Bite: The meatballs are rolled extra small, so every spoonful includes plenty of tender, savory goodness.
  • ⏱️ Weeknight Friendly: This cozy soup is ready in just 35 minutes from start to finish.
  • 🥣 A Meal in a Bowl: With hearty meatballs and creamy tomato broth, this soup is satisfying enough to serve as supper.
  • 🥛 Naturally Gluten-Free: The soup gets its creamy texture from coconut milk, with no flour or pasta needed.

I have a LOT of soup recipes and while I don’t usually play favorites, I have to say that this creamy, dreamy soup is at the very top of the list.

The soup part is a combo of canned plum tomatoes, sweet onions and (here’s the secret ingredient part)…a cup of coconut milk, which gives the soup that creamy texture. You pop them all into the blender, puree it up and pour it into a pot.

And then! You roll up a whole bunch of teeny tiny meatballs (a great job for the kiddos if they like to help in the kitchen) and drop them in the simmering soup.

Ten minutes later you have a delectable, hearty soup that is brimming with those bite-sized meatballs! And nope, it’s not going to taste like coconut, it’s just going to be all kinds of creamy and dreamy.

What is coconut milk? 🥛

Coconut milk is made by blending the white flesh of a coconut with water and then straining it until smooth. It has a rich, creamy texture that makes it a great dairy-free addition to soups and sauces.

For this recipe, look for canned coconut milk in the international foods aisle of your supermarket—not the coconut milk beverage sold in cartons near the dairy milk. You can use either regular or light canned coconut milk, although regular will give your soup the richest and creamiest texture.

And don’t worry—your soup won’t taste like coconut! The coconut milk simply makes the tomato broth wonderfully smooth and silky. We also love using it in this recipe for coconut oatmeal.

🍅 Ingredients you need

Ingredients for tomato meatball soup.

📝 Ingredient notes

  • Coconut Milk: Use canned coconut milk, not the refrigerated coconut beverage sold in cartons. Regular coconut milk will make the soup especially rich and creamy, but the light version also works beautifully.
  • Ground Beef: We like 80/20 ground beef for the most tender, flavorful meatballs, but you can use a leaner variety if you prefer.
  • Whole Tomatoes: Use a 28-ounce can of whole peeled tomatoes along with all their juice. Since everything is going into the blender, there’s no need to chop them first.
  • Cinnamon: Just a teaspoon adds subtle warmth to the meatballs without making them taste sweet.
  • Dry Mustard: This is powdered mustard from the spice aisle, not prepared mustard from a jar. It adds a little savory zing to the meatballs.
  • Fresh Parsley: This is optional, but a sprinkle on top adds fresh flavor and a pretty pop of color.

💡 Ingredient substitution ideas

Missing something or want to swap in something different? Check out the links below to find more ingredient substitution ideas. 👇🏻

See the recipe card for full information on ingredients and quantities and nutritional information.

👩🏻‍🍳 How to make this recipe

STEP 1: Heat some olive oil in a large deep pot over medium high heat.

Onions cooking in a pot.

STEP 2: Add a peeled and chopped onion and sauté until the onion is soft, about five minutes.

Onions cooking in a pot.

STEP 3: Place the cooked onion in a blender with the whole tomatoes and their juice and the coconut milk. Secure the lid and blend until completely smooth, then pour the mixture back into the pot.

Meatballs on a cutting board.

STEP 4: Combine the ground beef, egg, oregano, cinnamon, dry mustard, salt and pepper. Using damp hands, roll the mixture into tiny meatballs no more than 1 inch wide. (Damp hands make the rolling less sticky and easier!)

Tomato meatball soup in a bowl with a spoon.

STEP 5: Bring the soup to a simmer and gently drop in the meatballs. Simmer until the meatballs are cooked through, about 10 minutes—they should register 160°F in the center. Taste the soup and add more salt and pepper if needed, then ladle it into bowls and garnish with fresh parsley.

Recipe FAQs 🧐

Can I use regular milk instead of coconut milk in this recipe?

For the closest texture, replace the coconut milk with an equal amount of heavy cream or half-and-half. Regular milk is thinner and may curdle in the tomato broth, so I don’t recommend it for this recipe.

Is my soup going to taste like coconut?

Nope! It’s just going to have a rich and creamy texture that folks won’t be able to put their finger on. 😉

Can this recipe be made ahead of time?

Yes! Like many soups and stews, this one tastes even better the next day after the flavors have had time to mingle. Store it in a covered container in the refrigerator for up to three days, then warm it gently on the stovetop over medium-low heat.

Can I freeze creamy tomato meatball soup?

You can! Let the soup cool completely, then freeze it in an airtight container for up to three months. Thaw it overnight in the refrigerator and reheat it gently on the stovetop, stirring well if the coconut milk has separated slightly.

Have a question that I didn’t cover?

Pop your question in the Comments section under the recipe card and I will answer pronto!

Equipment we used for this recipe 🥣

These are some of my favorite kitchen tools! These are Amazon affiliate links, which means I get a little something if you buy through my links at no extra cost to you. (Which helps pay for all that bacon I keep buying! 😄) And I only share things I use and love. I’m so grateful for your support!

  • Measuring Cup: We love these angled cups that show the measurements on both the inside and outside of the cup.
  • Cutting Board: These sturdy, dishwasher-safe cutting boards come in all different sizes.
  • Blender: This blender is spendy, but it is the best one we’ve ever used!  Vroom!
  • Ladle: We love this perfectly shaped one for scooping out soup or stew.
  • Large Pot: We have a lot of these but this is our fave!
  • Measuring Spoons: These handy magnetic spoons are not on a ring, so you can just pick the one you need.
  • Pyrex Mixing Bowls: These classic sturdy bowls come in all different sizes and are great for everything from mixing ingredients to being casual serving bowls.

🍽️ What to serve with this recipe

If you are a soup and sandwich kind of a person, this soup is perfect with a homemade sammie. Or a salad. Or maybe you would rather have a biscuit!

Let’s make a pot of creamy, dreamy meatball deliciousness!

Print

Creamy Tomato Meatball Soup

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Experience the deliciousness of creamy tomato meatball soup. Follow this easy recipe for a comforting meal!

  • Author: Kate Morgan Jackson
  • Prep Time: 20 minutes
  • Cook Time: 15 minutes
  • Total Time: 35 minutes
  • Yield: 4 servings 1x
  • Category: Lunch
  • Method: Stovetop
  • Cuisine: American
  • Diet: Gluten Free

Ingredients

Scale
  • 1 sweet onion, peeled and chopped
  • 2 tablespoons olive oil
  • 1 28-ounce can whole tomatoes in their juice
  • 1 cup coconut milk
  • 1 pound ground beef
  • 1 egg
  • 1 tablespoon oregano
  • 1 teaspoon cinnamon
  • 1 teaspoon dry mustard
  • 1 teaspoon salt
  • 1/2 teaspoon pepper
  • Fresh parsley for garnish

Instructions

  1. Heat olive oil in a large deep pot over medium high heat.  Add onion and saute until soft, about 5 minutes.
  2. Add onion, tomatoes and coconut milk to a blender and blend until smooth.  Pour mixture into the onion pot.
  3. Combine meat, egg and spices and form into tiny meatballs – no more than an inch wide and smaller if you can manage it.  It’s going to look like way too many meatballs for the soup, but I promise it will be fine!
  4. Bring the soup to a simmer, and then gently drop in the meatballs.  Simmer until the meatballs are cooked through, about 10 minutes.
  5. Taste and adjust seasoning as needed and serve, garnished with chopped fresh parsley.

Notes

      • Coconut Milk: Use canned coconut milk, not the refrigerated coconut beverage sold in cartons. Regular coconut milk will make the soup especially rich and creamy, but the light version also works beautifully.
      • Ground Beef: We like 80/20 ground beef for the most tender, flavorful meatballs, but you can use a leaner variety if you prefer.
      • Whole Tomatoes: Use a 28-ounce can of whole peeled tomatoes along with all their juice. Since everything is going into the blender, there’s no need to chop them first.
      • Cinnamon: Just a teaspoon adds subtle warmth to the meatballs without making them taste sweet.
      • Dry Mustard: This is powdered mustard from the spice aisle, not prepared mustard from a jar. It adds a little savory zing to the meatballs.
      • Fresh Parsley: This is optional, but a sprinkle on top adds fresh flavor and a pretty pop of color.

Did you make this recipe?

Share a photo and tag @FramedCooks on Facebook or Instagram…we want to see it!

⚡️ Variations on this recipe

  • Make It With Turkey: Swap the ground beef for ground turkey or chicken for a lighter version. Since poultry is leaner, take care not to overmix the meatball mixture.
  • Add Some Greens: Stir a few handfuls of baby spinach into the finished soup and simmer just until it wilts.
  • Turn Up the Heat: Add a pinch of red pepper flakes to the tomato mixture for a gentle kick.
  • Make It Extra Herby: Add chopped fresh basil to the soup just before serving, or swap the parsley garnish for basil.
  • Add Some Cheese: Sprinkle each serving with grated Parmesan cheese for an extra layer of savory flavor.
  • Try Italian-Style Meatballs: Replace the cinnamon and dry mustard with a teaspoon of Italian seasoning, then add a little grated Parmesan to the meatball mixture.

😍 Other soup recipes we love!

Looking for more soup inspiration? We’ve got you covered! 🥳 Here is our complete collection of soup recipes.

We want to know what you think! 🤔

If you try this recipe, we would love to hear how it came out for you! I’d be super grateful if you could leave a star rating (you pick how many stars! 🌟 ) and your thoughts in the Comments section below.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star