This Swedish Meatball Soup is creamy, savory, and quietly comforting — think tender, well-seasoned mini meatballs swimming in a velvety broth with soft potatoes and sweet carrots. The texture is a perfect balance of silky cream and bite-sized meatballs that hold their shape but melt in your mouth. It’s an easy, weeknight-friendly recipe that comes together without fuss and serves like a hug in a bowl. If you love cozy soups like chicken enchilada soup, this one will become a regular in your rotation — serve with crusty bread or a simple green salad for a complete meal.
Why You’ll Love This Swedish Meatball Soup
- Rich, creamy broth that’s comforting without being overly heavy.
- Tender homemade meatballs made from a mix of ground beef and pork for depth of flavor.
- Simple, pantry-friendly ingredients you probably already have on hand.
- Quick to make: brown the meatballs, simmer with vegetables, stir in cream — done.
- Versatile — easy to scale up for guests or simplify for a solo meal.
- Balanced textures: creamy soup base, hearty potatoes, and little pops of Parmesan in the meatballs.
- Family-friendly flavor profile: mild seasonings that please kids and adults alike.
- Great for leftovers; flavors meld nicely overnight.
What Is Swedish Meatball Soup?
Swedish Meatball Soup takes the familiar flavors of classic Swedish meatballs — savory beef and pork, Parmesan, and gentle seasonings — and turns them into a one-pot soup. The taste is savory and slightly nutty from the Parmesan, with soft potatoes and sweet carrots adding body and color. Cooking is straightforward: form small meatballs, brown them quickly, then simmer in beef broth until cooked through before finishing with heavy cream for richness. It’s a cozy, weeknight comfort dish but also works well for casual dinner parties or a warming lunch on cold days. The overall vibe is homely and satisfying — a cross between a stew and a creamy soup.

Ingredients for Swedish Meatball Soup
Meatballs
- 1 pound ground beef
- 1/2 pound ground pork
- 1/4 cup breadcrumbs
- 1/4 cup grated Parmesan cheese
- 1 egg
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- Salt and pepper to taste
Soup base
- 4 cups beef broth
- 2 cups diced potatoes
- 1 cup carrots, diced
- 1 cup onion, chopped
- 1 cup heavy cream
For serving
- Fresh parsley for garnish
Ingredient Notes (Substitutions, Healthy Swaps)
- Dairy alternatives: Replace heavy cream with full-fat coconut milk for a dairy-free twist (note: flavor will change) or use half-and-half for a lighter finish.
- Gluten-free option: Use gluten-free breadcrumbs instead of regular breadcrumbs to make the meatballs gluten-free.
- Lower-fat swap: Substitute the ground beef with lean ground beef (90/10 or 93/7) and reduce heavy cream to 1/2 cup, replacing the remaining 1/2 cup with extra beef broth.
- Cheese swap: If you don’t have Parmesan, use another hard-grating cheese like Pecorino Romano in the same amount.
- Vegetarian note (optional): To keep the spirit of the soup but make it vegetarian, replace the meatballs with plant-based meatballs and use vegetable broth (this is an optional variation; the base recipe uses beef and pork).
Step-by-Step Instructions
Step 1 – Make the meatball mixture
- In a large bowl, combine ground beef, ground pork, breadcrumbs, grated Parmesan, egg, garlic powder, onion powder, salt, and pepper. Mix gently until just combined, then form into small meatballs (about 1 inch in diameter).
- Visual cue: The mixture should be cohesive but not overworked; meatballs should hold together without being dense.
Step 2 – Brown the meatballs
- In a large pot, heat some oil over medium heat and brown the meatballs on all sides. Work in batches if needed to avoid crowding. Remove browned meatballs and set aside.
- Pro cue: Don’t overcrowd the pan — browning creates flavor. Use medium heat so the meatballs brown evenly without burning.
Step 3 – Cook the vegetables
- In the same pot, add the chopped onion, diced carrots, and diced potatoes. Cook, stirring occasionally, until the onions are translucent and vegetables begin to soften (about 5–7 minutes).
- Visual cue: Onions should look translucent and slightly golden; potatoes will start to lose their raw sheen.
Step 4 – Add the broth and simmer
- Pour in the beef broth and bring the pot to a simmer. Return the browned meatballs to the pot and allow everything to simmer for 15–20 minutes, until the meatballs are fully cooked and potatoes are tender.
- Pro cue: A gentle simmer is enough — a rolling boil can break meatballs apart or make potatoes fall apart.
Step 5 – Finish with cream
- Stir in the heavy cream and heat through for 2–3 minutes without boiling. Taste and adjust seasoning with salt and pepper as needed.
- Visual cue: The broth should turn slightly opaque and glossy from the cream and coat a spoon.
Step 6 – Garnish and serve
- Ladle the soup into bowls and garnish with chopped fresh parsley.
- Pro cue: Let the soup rest for a few minutes after removing from heat; this helps flavors meld and makes serving easier.
Pro Tips for Success
- Form small, uniform meatballs so they cook evenly; a teaspoon or small cookie scoop helps.
- Don’t overmix the meatball mixture — overworking packs in air and makes meatballs tough.
- Brown in batches to maintain a good sear and prevent steaming.
- Keep the simmer gentle after adding broth; rapid boiling can make the potatoes fall apart and meatballs break up.
- Adjust salt at the end because broth and Parmesan already add sodium.
- If your meatballs release fat, spoon off excess if you prefer a leaner soup before adding cream.
- If the soup seems thin after adding cream, simmer a few extra minutes to reduce slightly; if too thick, add a splash more broth.
Flavor Variations (OPTIONAL)
- Spicy version: Add 1/2 teaspoon crushed red pepper flakes to the meatball mix or a pinch while simmering.
- Herb-forward: Mix 1 tablespoon chopped fresh dill or thyme into the meatball mixture for an herbier profile.
- Cheesy boost: Stir 1/4 cup finely grated Parmesan into the finished soup for an extra cheesy finish.
- Lighter cream: Use 1/2 cup heavy cream and 1/2 cup beef broth to cut richness while keeping creaminess.
- Root vegetable mix: Replace some potatoes with parsnips or turnips (equal quantity) for a slightly sweet, earthy twist.
- Protein swap (optional): Replace the ground pork with turkey or chicken to reduce fat — keep the rest of the recipe the same.
Serving Suggestions
- Serve with crusty bread or soft dinner rolls to sop up the creamy broth.
- A crisp green salad with vinaigrette balances the richness of the soup.
- Offer a sprinkle of extra grated Parmesan at the table for those who want more umami.
- Make it a soup-centered weeknight spread: serve alongside roasted vegetables and a simple grain salad.
- For a heartier meal, serve with a flaky biscuit or a small bowl of chicken pot pie soup as an alternate main.
- Garnish ideas: add a squeeze of lemon (optional) or a few toasted breadcrumbs on top for texture.
Make-Ahead, Storage & Reheating
- Make-ahead: You can prepare the meatballs and refrigerate them raw for up to 24 hours before browning and finishing the soup.
- Refrigerator storage: Store cooled soup in an airtight container for up to 3–4 days.
- Reheating: Gently reheat on the stovetop over low–medium heat, stirring occasionally. If the soup has thickened in the fridge, add a splash of beef broth or water while reheating to loosen it.
- Texture changes: The potatoes will soak up liquid over time and meatballs may firm slightly; adding a little extra broth or cream during reheating restores the original texture.
Storage and Freezing Instructions
- Freezing: This soup can be frozen, but cream-based soups sometimes separate after thawing. To improve results, freeze the soup before adding the heavy cream: cool completely, transfer to freezer-safe containers, and freeze up to 3 months. Thaw overnight in the refrigerator, reheat, then stir in the heavy cream at the end.
- If you’ve already added cream and want to freeze, expect some texture change; reheat gently and whisk or blend briefly to help re-emulsify.
- Alternative: Freeze meatballs separately and store broth/vegetables separately; assemble and finish with cream when reheating for best texture.
Nutrition Facts (Per Serving)
| Calories | Protein | Carbs | Fat | Fiber | Sodium |
|———|——–|——|—–|——|——-|
| 530 kcal | 26 g | 16 g | 38 g | 2 g | 520 mg |
Nutrition values are estimates and may vary depending on ingredients and portion sizes.
FAQ About Swedish Meatball Soup
- How can I tell when the meatballs are cooked through?
- Cut one meatball in half; it should be no longer pink inside and juices should run clear. Smaller meatballs cook faster — 15–20 minutes simmering usually does the trick.
- My meatballs fell apart in the soup. What did I do wrong?
- Common causes: meatballs were too large, not chilled, or the simmer was too vigorous. Make them small, don’t overcrowd when browning, and keep the simmer gentle.
- Can I make this without heavy cream?
- Yes — use half-and-half or a mixture of milk and a pat of butter for creaminess, or skip cream entirely and finish with a tablespoon of butter for a lighter result.
- Will the potatoes get mushy if I make the soup ahead?
- Potatoes will soften over time. To reduce mushiness, slightly undercook them during the initial simmer if you plan to reheat later, or add freshly cooked potatoes when reheating.
- How do I reduce sodium if I’m watching salt intake?
- Use a low-sodium or homemade beef broth and skip adding extra salt until the end. Parmesan and broth contain sodium, so taste before seasoning.
- Can I brown the meatballs in the oven instead of on the stove?
- Yes — you can bake meatballs at 400°F (200°C) on a baking sheet for about 10–12 minutes until browned, then add to the simmering soup to finish cooking.
Notes
- Serve in shallow bowls to show off the meatballs and colorful vegetables; garnish with chopped parsley for freshness.
- For a little brightness, a tiny squeeze of lemon on each bowl just before serving lifts the flavors without changing the profile.
- If you want more body to the broth, mash a few cooked potato pieces against the side of the pot to thicken naturally.
- Taste early and often — because broth and Parmesan add salt, final adjustments are best made at the end.
- If you prefer larger meatballs, increase simmer time slightly and keep an eye on the potatoes’ doneness.
Swedish Meatball Soup
A creamy, savory soup featuring tender meatballs in a rich broth with potatoes and carrots, perfect for cozy dinners.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Total Time: 45 minutes
- Yield: 4 servings
- Category: Soup
- Method: Stovetop
- Cuisine: Swedish
- Diet: Gluten-Free, Dairy-Free (optional)
Ingredients
- 1 pound ground beef
- 1/2 pound ground pork
- 1/4 cup breadcrumbs
- 1/4 cup grated Parmesan cheese
- 1 egg
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- Salt and pepper to taste
- 4 cups beef broth
- 2 cups diced potatoes
- 1 cup carrots, diced
- 1 cup onion, chopped
- 1 cup heavy cream
- Fresh parsley for garnish
Instructions
- Combine ground beef, ground pork, breadcrumbs, grated Parmesan, egg, garlic powder, onion powder, salt, and pepper in a large bowl. Mix gently and form into small meatballs.
- Heat oil in a large pot over medium heat and brown the meatballs on all sides. Set aside.
- Add chopped onion, diced carrots, and diced potatoes to the pot. Cook until onions are translucent (about 5–7 minutes).
- Pour in the beef broth, bring to a simmer, and return meatballs to the pot. Simmer for 15–20 minutes until cooked through.
- Stir in heavy cream and heat for 2–3 minutes without boiling.
- Ladle soup into bowls and garnish with fresh parsley.
Notes
For a dairy-free twist, replace heavy cream with full-fat coconut milk. For gluten-free, use gluten-free breadcrumbs. Adjust seasonings as needed at the end.

