This cozy Swedish-style meatball soup is exactly the kind of bowl that feels like a warm hug on a chilly night. It blends tender, seasoned meatballs with a creamy, lightly nutmeg-kissed broth and egg noodles or potatoes for a filling, family-friendly supper. Makes a great weeknight meal, potluck comfort food, or simple dinner when you want something familiar and soothing. For another take on Swedish meatball soup if you want to compare techniques, check out this version while you read on for my easy, reliable recipe.
Why you’ll love this dish
This soup gives you everything Southern cooks love: budget-friendly meat, pantry-friendly ingredients, and a creamy, comforting broth that stretches to feed a crowd. It is quick enough for weeknights because meatballs cook fast, and adaptable enough for lighter or dairy-free diets. The nutmeg is subtle, but it is what lifts the flavor and keeps the soup distinctly Swedish-inspired.
"Comfort in a bowl — my kids asked for seconds and wanted the leftovers for lunch."
The cooking process explained
Short overview: You mix and shape small meatballs, brown them briefly, then build a simple roux-based broth with sautéed vegetables, add beef broth and noodles or potatoes, simmer the meatballs gently in the soup until cooked through, finish with cream and a pinch of nutmeg, then serve with fresh parsley. Expect about 30 to 40 minutes from start to finish once your mise en place is ready.
{image_template}
What you’ll need
- 1 lb ground beef or pork (or a mix) (You can use turkey or chicken for a lighter version.)
- ½ cup breadcrumbs
- 1 large egg
- ¼ cup milk (Can substitute with a non-dairy option.)
- 1 tsp Worcestershire sauce
- ½ tsp onion powder
- ½ tsp garlic powder
- ½ tsp salt
- ½ tsp black pepper
- 2 tbsp butter
- 1 medium onion, diced
- 2 carrots peeled and diced
- 2 celery stalks diced
- 3 tbsp all-purpose flour
- 4 cups beef broth
- 1 cup heavy cream (Can substitute with half-and-half or non-dairy alternatives.)
- ½ tsp nutmeg
- ½ tsp salt (Adjust to taste.)
- ½ tsp black pepper
- 2 cups egg noodles or diced potatoes
- 1 tbsp fresh parsley, chopped (optional)
Substitutions and notes: Use turkey or chicken to lighten up the meatballs, or use plant-based breadcrumbs for gluten-free if you swap to gluten-free breadcrumbs and flour. If you prefer less richness, use half-and-half instead of heavy cream. If using potatoes, choose Yukon Gold and dice small so they cook in the same amount of time as the noodles would.

How to prepare it
Prepare the Meatballs
- In a medium bowl, combine the ground meat, breadcrumbs, egg, milk, Worcestershire sauce, onion powder, garlic powder, ½ tsp salt, and ½ tsp black pepper.
- Mix gently until just combined; overmixing will make dense meatballs.
- Form into small, bite-size meatballs, about 1 inch each. Wetting your hands slightly helps.
Cook the Meatballs
- In a large skillet over medium heat, melt 1 tbsp butter and brown the meatballs in batches to get a little color, about 2 minutes per side. They do not need to be fully cooked through at this stage. Transfer to a plate.
Prepare the Soup
- In the same pot or Dutch oven, add the remaining 1 tbsp butter and sauté the diced onion, carrots, and celery until softened, about 5 minutes. Scrape up any browned bits for flavor.
- Stir in the 3 tbsp flour and cook 1 to 2 minutes to make a roux; this thickens the soup. Gradually whisk in the 4 cups beef broth until smooth to avoid lumps.
Simmer the Soup
- Add the partially cooked meatballs back to the pot along with the egg noodles or diced potatoes. Bring to a gentle simmer, cover, and cook until noodles or potatoes are tender and meatballs are cooked through, about 8 to 12 minutes depending on noodle size.
Finish the Soup
- Reduce heat to low and stir in the heavy cream, ½ tsp nutmeg, and remaining ½ tsp salt and ½ tsp black pepper. Heat through but do not boil hard after adding cream to prevent curdling. Taste and adjust seasoning.
Serve
- Ladle into bowls, sprinkle with chopped fresh parsley if desired, and serve warm.
Best ways to enjoy it
This soup pairs beautifully with crusty bread or warm dinner rolls to sop up the creamy broth. For a lighter meal, serve over a bed of simple mixed greens dressed with lemon vinaigrette. A side of pickled cucumbers or a bright apple slaw cuts through the richness nicely.
Storage and reheating tips
- Refrigerate in an airtight container for up to 3 days.
- Reheat gently on the stovetop over low heat to avoid breaking the cream; add a splash of broth if it looks too thick.
- To freeze: cool completely and freeze in a shallow container for up to 3 months. Note: dairy can separate after freezing; thaw overnight in the fridge and reheat slowly, whisking in a little fresh cream or milk to re-emulsify.
Helpful cooking tips
- Make small meatballs so they cook quickly and evenly.
- If you need faster weeknight dinner, brown meatballs directly in the soup pot then build the soup in the same pot to save pans.
- Do not boil vigorously after adding cream; gentle heat preserves a silky texture.
- Use low-sodium broth if you plan to adjust salt later.
Recipe variations
- Gluten-free: use gluten-free breadcrumbs and a gluten-free flour blend for the roux.
- Dairy-free: swap milk and heavy cream for unsweetened oat or cashew milk and use a bit more roux to thicken.
- Swedish-style twist: add a splash of lingonberry jam to the side as a contrasting condiment for a traditional nod.
- Hearty stew version: swap egg noodles for diced potatoes and add a cup of frozen peas near the end.
FAQ
Q: How long does this take to make?
A: From start to finish plan on about 35 to 45 minutes, depending on whether you use noodles or diced potatoes.
Q: Can I make meatballs ahead of time?
A: Yes. You can prepare and refrigerate raw or cooked meatballs for up to 24 hours before assembling the soup. If frozen, thaw overnight before adding to the soup.
Q: Is there a lighter milk option that still tastes good?
A: Use half-and-half or a creamy non-dairy milk like unsweetened oat or cashew milk. You may need a touch more roux to keep the same body.
Q: Can I bake the meatballs instead of frying?
A: Absolutely. Bake 1-inch meatballs at 400 F for about 10 to 12 minutes until just cooked, then add to the simmering soup.
Q: How can I make this gluten-free?
A: Use gluten-free breadcrumbs and a gluten-free flour blend for the roux. Ensure your broth is also gluten-free.
Conclusion
If you want to see another home cook’s approach with extra tips, check out this flavorful take from Swedish Meatball Soup – Skinny Spatula. For a cozy, family-style perspective and serving ideas, I recommend this guide from Swedish Meatball Soup | The Cozy Apron. To compare ingredient ratios and get more step-by-step photos, here is a helpful recipe breakdown from Swedish Meatball Soup Recipe – The Cookie Rookie®.
Enjoy the warmth and simplicity of this soup, and don’t be afraid to tweak it to suit your family’s tastes.

Swedish-Style Meatball Soup
Ingredients
Method
- In a medium bowl, combine the ground meat, breadcrumbs, egg, milk, Worcestershire sauce, onion powder, garlic powder, ½ tsp salt, and ½ tsp black pepper.
- Mix gently until just combined; overmixing will make dense meatballs.
- Form into small, bite-size meatballs, about 1 inch each.
- In a large skillet over medium heat, melt 1 tbsp butter and brown the meatballs in batches for about 2 minutes per side.
- Transfer to a plate.
- In the same pot or Dutch oven, add the remaining 1 tbsp butter and sauté the diced onion, carrots, and celery until softened, about 5 minutes.
- Stir in the 3 tbsp flour and cook for 1 to 2 minutes to make a roux.
- Gradually whisk in the 4 cups beef broth until smooth to avoid lumps.
- Add the partially cooked meatballs back to the pot along with the egg noodles or diced potatoes.
- Bring to a gentle simmer, cover, and cook until noodles or potatoes are tender and meatballs are cooked through, about 8 to 12 minutes.
- Reduce heat to low and stir in the heavy cream, ½ tsp nutmeg, and remaining ½ tsp salt and ½ tsp black pepper.
- Heat through but do not boil hard after adding cream to prevent curdling.
- Ladle into bowls, sprinkle with chopped fresh parsley if desired, and serve warm.