Authentic Swedish Meatballs in Rich Creamy Gravy
Swedish meatballs are the kind of meal that makes the whole table feel cozy. Think tender, perfectly seasoned meatballs coated in a silky, savory gravy. It’s simple, homey, and exactly the kind of recipe you’ll want to make again and again.
This version sticks close to tradition while keeping things practical for a weeknight. You’ll get great texture, rich flavor, and a sauce that begs for mashed potatoes or buttered noodles.
What Makes This Special

These meatballs blend beef and pork for the classic Swedish taste and texture—juicy, tender, and pleasantly rich. Warm spices like allspice and nutmeg give a subtle aroma without overwhelming the dish.
The gravy is creamy but not heavy, built from pan drippings, broth, and a touch of cream. We’ll also use a simple panade (breadcrumbs softened in milk) to keep the meatballs soft, never dry. It’s a comforting, well-balanced plate that’s simple enough for everyday and special enough for guests.
What You’ll Need
- Ground meats: 1/2 lb (225 g) ground beef + 1/2 lb (225 g) ground pork
- Breadcrumbs: 1/2 cup plain, preferably fine
- Milk: 1/2 cup, for the panade
- Egg: 1 large
- Onion: 1 small, finely minced or grated
- Butter: 4 tbsp total (2 tbsp for meatballs/onion, 2 tbsp for gravy)
- Flour: 2 tbsp, for the gravy
- Beef broth: 2 cups (low-sodium if possible)
- Heavy cream: 1/2 cup
- Worcestershire sauce: 1 tsp (optional but great for depth)
- Dijon mustard: 1 tsp (optional)
- Spices: 1/2 tsp ground allspice, 1/4 tsp ground nutmeg
- Salt and pepper: To taste (start with 1 tsp kosher salt and 1/2 tsp black pepper)
- Neutral oil: 1–2 tbsp for browning
- Fresh parsley: Chopped, for garnish (optional)
- Lingonberry jam: Traditional side (optional but highly recommended)
- Serve with: Mashed potatoes, buttered egg noodles, or boiled baby potatoes
Step-by-Step Instructions

- Make the panade. In a bowl, mix the breadcrumbs and milk.Let it sit for 5 minutes until the crumbs are fully moistened. This keeps the meatballs tender.
- Cook the onion. Melt 1 tbsp butter in a skillet over medium heat. Add the minced onion and a pinch of salt.Cook until soft and translucent, 4–5 minutes. Let it cool slightly.
- Mix the meat. In a large bowl, add the beef, pork, soaked breadcrumbs, cooked onion, egg, allspice, nutmeg, salt, and pepper. Use your hands to mix gently until just combined. Do not overmix or the meatballs will get tough.
- Form the meatballs. Scoop 1 to 1.5 tablespoons per meatball.Roll lightly into smooth balls. You should get about 24 small meatballs. Chill them for 15–20 minutes if you have time; it helps them keep their shape.
- Brown the meatballs. Heat 1 tbsp oil and 1 tbsp butter in a large skillet over medium to medium-high heat.Add meatballs in batches, leaving space between them. Brown on all sides, about 6–8 minutes total. Transfer to a plate.
They don’t need to be fully cooked at this stage.
- Make the gravy base. Pour off excess fat, leaving about 2 tbsp in the pan. Add 2 tbsp butter and let it melt. Sprinkle in the flour and whisk, scraping up browned bits.Cook 1–2 minutes until the flour smells toasty.
- Finish the gravy. Slowly whisk in the beef broth until smooth. Simmer 3–4 minutes to thicken slightly. Stir in the cream, Worcestershire, and Dijon.Season with salt and pepper. The gravy should be silky and coat a spoon.
- Simmer the meatballs. Return the meatballs and any juices to the skillet. Reduce heat to low and simmer 8–10 minutes, gently stirring, until the meatballs are cooked through and the gravy is glossy.
- Taste and adjust. Add more salt or pepper if needed.If the gravy is too thick, splash in more broth or a touch of water. If too thin, simmer a bit longer.
- Serve. Spoon meatballs and gravy over mashed potatoes or noodles. Garnish with parsley and serve with lingonberry jam for a sweet-tart contrast.
Keeping It Fresh
Store leftovers in an airtight container in the fridge for up to 4 days.
The flavors deepen by day two. Reheat gently on the stovetop with a splash of broth or water to loosen the sauce. For longer storage, freeze meatballs and gravy together in a freezer-safe container for up to 3 months.
Thaw overnight in the fridge and reheat slowly. Tip: If you plan to freeze, slightly undercook the meatballs during the browning stage and finish cooking when reheating.

Health Benefits
- Protein-rich: The beef-and-pork blend provides complete protein to support muscle and satiety.
- Iron and B12: Red meat offers iron and B12, which support energy and cognitive function.
- Portion control: Small meatballs help you manage serving size without feeling deprived.
- Balanced plate: Pair with mashed potatoes or whole-grain noodles and a side of steamed vegetables for fiber and vitamins.
- Customizable: You can make lighter swaps—use milk with lower fat content, reduce cream slightly, or add finely chopped mushrooms to the mix for extra nutrients.
Common Mistakes to Avoid
- Skipping the panade: Dry breadcrumbs alone will make the meatballs dense. Always soak them in milk first.
- Overmixing the meat: Gentle mixing keeps the texture tender. Stop as soon as everything looks evenly combined.
- Crowding the pan: Meatballs need space to brown.Work in batches for even color and better flavor.
- Rushing the roux: Cook the flour-butter mixture long enough to lose the raw taste. It’s key for a smooth, flavorful gravy.
- Overthickening the gravy: Remember it thickens as it cools. Keep it slightly looser in the pan for the perfect texture on the plate.
Alternatives
- Meat options: Use all beef for a slightly firmer bite, or swap in ground turkey for a lighter version.If using turkey, add an extra tablespoon of butter or a splash of cream to keep it moist.
- Dairy-free: Use unsweetened oat milk for the panade and a dairy-free cream alternative for the gravy. Vegan butter works well.
- Gluten-free: Use gluten-free breadcrumbs and swap the flour in the gravy for cornstarch (mix 1 tbsp cornstarch with 2 tbsp cold water, then whisk into simmering broth).
- Add-ins: Finely grated carrot or mushrooms can be folded into the meat mixture for extra moisture and flavor.
- Flavor tweaks: A tiny pinch of white pepper adds gentle heat. For a deeper savory note, add 1 tsp soy sauce in place of Worcestershire.
FAQ
Can I bake the meatballs instead of frying?
Yes.
Arrange on a parchment-lined sheet and bake at 400°F (200°C) for 12–15 minutes, turning once, until browned and nearly cooked. Then finish in the gravy for a few minutes to infuse flavor.
What should I serve with Swedish meatballs?
Mashed potatoes are the classic choice, along with lingonberry jam and quick-pickled cucumbers. Buttered egg noodles or boiled potatoes also work beautifully.
How do I keep meatballs from falling apart?
Make sure the panade is well hydrated, include the egg for binding, and chill the formed meatballs briefly before cooking.
Handle them gently when turning.
Can I make them ahead?
Absolutely. Form and brown the meatballs up to a day ahead, then refrigerate. Make the gravy and simmer them together right before serving.
They also reheat well.
Why use both allspice and nutmeg?
The combination is traditional and gives a warm, subtle flavor that sets Swedish meatballs apart. Allspice provides a gentle sweetness, while nutmeg adds a soft, aromatic edge.
My gravy is lumpy. How do I fix it?
Whisk vigorously while adding the broth slowly.
If lumps remain, strain the gravy or blend with an immersion blender. Next time, make sure the roux is smooth before adding liquid.
Can I use half-and-half instead of heavy cream?
Yes. The gravy will be a bit lighter and slightly less silky, but still delicious.
If needed, simmer a minute longer to reach the right thickness.
Is lingonberry jam necessary?
Not required, but it’s a wonderful counterpart to the rich gravy. If you can’t find it, cranberry sauce makes a decent stand-in.
Final Thoughts
Authentic Swedish Meatballs with Creamy Gravy are all about balance—tender meat, gentle spices, and a sauce that ties everything together. With a few smart techniques and pantry staples, you can make this comfort food classic at home any night of the week.
Keep the steps simple, don’t rush the browning, and taste as you go. Serve with something starchy, a spoon of jam, and a green side, and you’ve got a meal that feels warm and welcoming every time.

