This classic plate of Swedish meatballs pairs tender, spiced meatballs with a silky cream gravy — the kind of comfort-food dish that travels well from weeknight family dinners to special Sunday suppers. Made with a mix of ground beef and pork, a hint of allspice, and a quick pan-roux, this recipe delivers rich flavor without fuss. If you like trying different meatball styles, you might also enjoy a slower, saucier option like Asian meatballs in the crockpot for busy days when you want hands-off cooking.
Why you’ll love this dish
Swedish meatballs are the perfect balance of cozy and elegant. The meatballs themselves stay moist thanks to the pork and milk-soaked breadcrumbs, while the cream-enhanced gravy rounds out every bite. It’s the sort of recipe that’s:
- Fast enough for a weeknight (about 35–45 minutes total).
- Budget-friendly: uses common pantry items and modest amounts of meat.
- Crowd-pleasing: kids and adults usually both love the mild spices and creamy sauce.
- Versatile: serve over egg noodles, mashed potatoes, or rice.
“Simple to make and reliably comforting — this version hits all the marks for a weeknight favorite.” — home cook review
How this recipe comes together
This recipe follows three clear stages so you can scan and plan quickly:
- Mix the meats with breadcrumbs, aromatics, and seasonings. Gentle handling keeps the meatballs tender.
- Brown the meatballs in butter to develop flavor and color, then remove them while you make a quick roux in the same pan.
- Add broth and cream to the roux, return the meatballs, and finish them by simmering until cooked through and saucy.
Expect about 35–45 minutes from start to finish and roughly 4 servings.
What you’ll need
- 1 lb ground beef (80/20 is a good choice for flavor)
- 1/2 lb ground pork
- 1/2 cup breadcrumbs (plain or panko)
- 1/4 cup onion, finely chopped (white or yellow)
- 1/4 cup milk
- 1 large egg
- 1/2 teaspoon garlic powder
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 1/4 teaspoon ground allspice
- 2 tablespoons butter (for pan-browning)
- 2 tablespoons all-purpose flour (for the roux)
- 2 cups beef broth (low-sodium preferred)
- 1/2 cup heavy cream
Notes and simple swaps:
- For a lighter sauce, use half-and-half instead of heavy cream, but reduce simmer time and taste for seasoning.
- Use gluten-free breadcrumbs and swap the flour for a 1:1 gluten-free baking mix to make it gluten-free.
- If you don’t have pork, you can use all beef; add a touch more milk or an extra egg yolk to keep meatballs moist.
Step-by-step instructions
- In a large bowl, combine ground beef, ground pork, breadcrumbs, chopped onion, milk, egg, garlic powder, salt, pepper, and ground allspice. Mix gently with your hands or a fork until just combined — avoid overworking.
- Shape the mixture into small meatballs about 1 inch in diameter (walnut-sized). Wet your hands lightly to prevent sticking.
- Heat butter in a large skillet over medium heat. Add meatballs in a single layer without crowding. Brown on all sides, about 6–8 minutes per batch. Transfer browned meatballs to a plate.
- Sprinkle the flour into the skillet and cook, stirring, for about 1 minute to form a light roux and remove the raw flour taste.
- Gradually whisk in the beef broth, scraping up browned bits from the pan. Bring the mixture to a gentle simmer and cook until it thickens slightly.
- Stir in the heavy cream, then return the meatballs to the skillet. Reduce heat to low and simmer uncovered for 10–15 minutes, or until meatballs reach 160°F (71°C) internal temperature and are cooked through. Adjust seasoning with salt and pepper to taste.
- Serve immediately over egg noodles, mashed potatoes, or rice. Garnish with a spoonful of lingonberry jam or chopped fresh parsley if desired.
Pro tip: use a kitchen thermometer to check doneness — it’s the most reliable way to ensure safety and juiciness.
Best ways to enjoy it
Swedish meatballs are wonderfully flexible when it comes to serving:
- Traditional: Pile meatballs and gravy over buttered egg noodles and sprinkle with parsley.
- Comfort mash: Serve on creamy mashed potatoes for a hearty plate-ready meal.
- Lighter: Spoon meatballs and sauce over cauliflower mash or steamed rice for a different texture.
- Brunch or grazing: Offer small meatballs on toothpicks with a dollop of lingonberry jam for parties.
Pair with simple sides like roasted Brussels sprouts, steamed green beans, or a crisp cucumber-dill salad to cut the richness.
Storage and reheating tips
- Refrigeration: Cool meatballs and sauce to room temperature (no more than 2 hours) and store in an airtight container for 3–4 days.
- Freezing: Freeze meatballs and sauce in a freezer-safe container for up to 2–3 months. Thaw overnight in the fridge before reheating.
- Reheating: Gently reheat on the stovetop over low heat, stirring occasionally until warmed through. You can add a splash of broth or cream to loosen the sauce. Microwave reheating works too — cover and heat in short bursts, stirring between intervals.
- Safety: Reheat to 165°F (74°C) before serving to ensure safe consumption.
Pro chef tips
- Don’t overmix: Overworking the meat makes dense meatballs. Mix until ingredients are just combined.
- Size matters: Small, walnut-sized meatballs cook evenly and stay tender. Larger meatballs require longer cooking and risk drying.
- Browning counts: Brown the meatballs in batches to avoid steaming. The fond left in the pan is key for the gravy’s depth of flavor.
- Finish low and slow: Simmering gently after adding cream keeps the sauce silky and prevents curdling.
- Make-ahead shortcut: You can shape and freeze uncooked meatballs on a baking sheet. Once frozen, transfer to a freezer bag. Brown from frozen (add a few minutes) or simmer directly in sauce.
Creative twists
- Swedish meets slow-cooker: For hands-off cooking, finish meatballs in a slow cooker with the sauce. (Try a different slow-cooker flavor profile like slow-cooker honey bourbon meatballs when you want a sweet-savory twist.)
- Mushroom gravy: Sauté sliced mushrooms with onions before making the roux for an earthier sauce.
- Lighter swap: Use ground turkey and low-fat milk, then thicken the sauce with a cornstarch slurry.
- Vegetarian: Make meatballs from cooked and mashed lentils, finely chopped mushrooms, breadcrumbs, and egg or flax egg; brown and add the same cream gravy or a mushroom-based sauce.
Common questions
Q: How long does this recipe take from start to finish?
A: Plan on about 35–45 minutes: 10–15 minutes to mix and shape, 10 minutes to brown in batches, and 15 minutes to finish simmering in the sauce.
Q: Can I bake the meatballs instead of pan-browning?
A: Yes. Bake at 400°F (200°C) for 12–15 minutes on a lined baking sheet until just browned and cooked through, then transfer to the skillet to make the sauce. You’ll miss some of the fond flavor from pan-browning, so consider sautéing a few extra onions or mushrooms for depth.
Q: Are these meatballs safe to eat if using pork and beef?
A: Yes — as long as the internal temperature reaches 160°F (71°C). Use a digital thermometer inserted into a meatball’s center to confirm doneness.
Q: How can I thicken the sauce if it’s too thin?
A: Simmer uncovered for a few minutes to reduce. Alternatively, mix 1 teaspoon cornstarch with 1 tablespoon cold water and whisk it into the simmering sauce to thicken quickly.
Q: Can I prepare this ahead for a dinner party?
A: Absolutely. You can assemble and shape the meatballs a day ahead and refrigerate them, or fully cook and cool the dish, then reheat gently before serving. If serving to guests, finish with a final quick simmer to refresh the sauce.

Classic Swedish Meatballs
- Total Time: 45
- Yield: 4 servings
- Diet: None
Description
Tender and flavorful meatballs in a creamy gravy, perfect for cozy dinners.
Ingredients
- 1 lb ground beef (80/20)
- 1/2 lb ground pork
- 1/2 cup breadcrumbs (plain or panko)
- 1/4 cup onion, finely chopped (white or yellow)
- 1/4 cup milk
- 1 large egg
- 1/2 teaspoon garlic powder
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 1/4 teaspoon ground allspice
- 2 tablespoons butter (for pan-browning)
- 2 tablespoons all-purpose flour (for the roux)
- 2 cups beef broth (low-sodium preferred)
- 1/2 cup heavy cream
Instructions
- In a large bowl, combine ground beef, ground pork, breadcrumbs, chopped onion, milk, egg, garlic powder, salt, pepper, and ground allspice. Mix gently until just combined.
- Shape the mixture into small meatballs about 1 inch in diameter.
- Heat butter in a large skillet over medium heat. Add meatballs in a single layer, browning on all sides for about 6–8 minutes per batch. Transfer browned meatballs to a plate.
- Sprinkle flour into the skillet and cook, stirring, for about 1 minute to form a light roux.
- Gradually whisk in beef broth, scraping up browned bits. Bring to a simmer and cook until slightly thickened.
- Stir in heavy cream, return meatballs to the skillet, and simmer uncovered for 10–15 minutes until cooked through.
- Serve over egg noodles, mashed potatoes, or rice, garnished with lingonberry jam or parsley if desired.
Notes
For a lighter sauce, use half-and-half instead of heavy cream. For gluten-free, use gluten-free breadcrumbs and flour.
- Prep Time: 15
- Cook Time: 30
- Category: Main Course
- Method: Browning and Simmering
- Cuisine: Swedish
