Swedish Meatballs have a way of wrapping you in a warm hug from the inside out. I first fell in love with them on a chilly trip to Stockholm—served over buttery mashed potatoes with a spoonful of lingonberry jam on the side. Since then, I’ve been recreating that cozy, comforting magic in my own kitchen.
These little meatballs are tender and juicy, flavored with just the right balance of nutmeg and allspice, and then nestled in a creamy, savory gravy that begs to be ladled over noodles, rice, or mashed potatoes. They’re pure comfort food with a Scandinavian twist—and once you try them, you’ll want them on repeat.
Why You’ll Love This Recipe
- Super tender meatballs thanks to a panade (milk + breadcrumbs)
- Balanced seasoning with traditional warm spices
- Creamy, savory gravy made from scratch
- Perfect for family dinners or cozy gatherings
- Freezer-friendly and meal prep approved
- Goes with mashed potatoes, noodles, or rice
Recipe Snapshot
Category | Cuisine | Prep Time | Cook Time | Total Time | Yield | Skill Level |
---|---|---|---|---|---|---|
Dinner | Swedish | 25 mins | 25 mins | 50 mins | 4–6 servings | Moderate |
Ingredients
Here’s what brings these savory little meatballs to life:
For the Meatballs:
- Ground beef and ground pork – a blend for juicy, flavorful meatballs
- Breadcrumbs + milk – creates a soft, moist texture (that panade magic!)
- Egg – binds everything together
- Grated onion – adds sweetness and moisture
- Salt, pepper, allspice, nutmeg – the signature Swedish spice profile
- Butter and oil – for browning and flavor
For the Gravy:
- Butter – builds richness from the start
- All-purpose flour – thickens the gravy
- Beef broth – creates depth and savory flavor
- Heavy cream – brings velvety smoothness
- Worcestershire sauce + Dijon mustard – adds umami and subtle tang
- Salt and pepper – to taste
Full recipe card is below.
How to Make It
1. Mix the Meatball Base
In a large bowl, stir together the breadcrumbs and milk. Let it sit for 5 minutes to absorb. Then add the ground meats, grated onion, egg, and spices. Mix gently—overmixing can make the meatballs tough.
Texture tip: It should feel moist but hold its shape when rolled.
2. Shape and Sear
Roll the mixture into 1-inch meatballs. In a large skillet, heat oil and butter over medium heat. Brown the meatballs in batches, turning to get a golden crust. Set aside on a plate—don’t worry if they’re not fully cooked through yet.
3. Make the Gravy
In the same skillet, melt butter and whisk in flour to create a roux. Cook for 1–2 minutes until golden and nutty-smelling. Slowly pour in the beef broth while whisking constantly. Simmer until thickened, then stir in the cream, Worcestershire, and Dijon. Season with salt and pepper.
4. Simmer It All Together
Return the meatballs to the pan, cover, and simmer gently for 10–15 minutes until cooked through and tender. The gravy will thicken and coat them beautifully.
That first spoonful over mashed potatoes? Heaven.
Pro Tips for Success
- Use a blend of pork and beef for the best flavor and texture
- Grate the onion finely so it blends seamlessly into the meat
- Don’t skip the nutmeg and allspice—they’re key to authentic flavor
- Let the breadcrumbs soak fully for super tender meatballs
- Deglaze the pan with broth to pull up all the browned bits after searing
Flavor Variations
- Swap Dijon for whole-grain mustard for a more rustic taste
- Use half-and-half instead of cream if you want it a bit lighter
- Add a pinch of garlic powder or thyme to the meat mixture
- For extra richness, stir in a spoonful of sour cream at the end of the gravy
Serving Suggestions
- Classic: Serve over mashed potatoes with lingonberry jam
- Cozy: Spoon over buttered egg noodles
- Light: Pair with steamed rice and roasted green beans
- Fancy: Serve with roasted root vegetables and a crisp white wine
- Love hearty comfort food? Try this Chicken Cordon Bleu Meatloaf for another rich and satisfying dinner idea
Make-Ahead & Storage
- Make-ahead: Roll and brown the meatballs, then refrigerate for up to 1 day before simmering in the gravy.
- Storage: Keep leftovers in an airtight container in the fridge for up to 4 days.
Leftovers
- Make a Swedish meatball sandwich with crusty bread and extra gravy
- Chop and fold into a pasta bake with cheese
- Use them as a topping for baked potatoes or rice bowls
Freezing
Yes! You can freeze both the uncooked meatballs (after rolling) or the fully cooked dish. Let cool, store in a freezer-safe container, and thaw overnight in the fridge before reheating.
Reheating
- Skillet: Warm gently in a pan with a splash of broth or cream
- Microwave: Reheat in 1-minute intervals, stirring in between
- Oven: Bake at 300°F covered until heated through
FAQs
Can I make these with just ground beef?
Yes, but a mix of beef and pork gives better texture and flavor.
What can I use instead of cream?
Try half-and-half, evaporated milk, or whole milk for a lighter version.
Can I bake the meatballs instead of frying?
Absolutely—bake at 400°F for about 15–20 minutes, then simmer in the gravy.
Is the gravy supposed to be thick?
Yes! It should be creamy and spoon-coating. Add a splash more broth if it gets too thick.
Final Thoughts
Swedish Meatballs aren’t just dinner—they’re a warm, homey experience. Whether you’re cooking for a quiet night in or a table full of family, these little meatballs bring comfort, flavor, and just the right amount of cozy to your kitchen.

Swedish Meatballs in Creamy Gravy
Equipment
- Skillet
Ingredients
Meatballs
- 1/2 lb ground beef
- 1/2 lb ground pork
- 1/2 cup breadcrumbs
- 1/4 cup milk
- 1 egg
- 1/2 grated onion
- 1/2 tsp salt
- 1/4 tsp black pepper
- 1/4 tsp allspice
- 1/4 tsp nutmeg
- 2 tbsp butter for frying
- 1 tbsp oil for frying
Gravy
- 2 tbsp butter
- 2 tbsp all-purpose flour
- 2 cups beef broth
- 1/2 cup heavy cream
- 1 tsp Worcestershire sauce
- 1 tsp Dijon mustard
- salt and pepper to taste
Instructions
- In a bowl, mix breadcrumbs and milk. Let sit for 5 minutes.
- Add beef, pork, grated onion, egg, salt, pepper, allspice, and nutmeg. Mix gently until combined.
- Form into 1-inch meatballs. Heat butter and oil in a skillet and brown meatballs in batches. Set aside.
- In the same skillet, melt butter and whisk in flour to form a roux. Cook for 1-2 minutes.
- Gradually add beef broth while whisking. Simmer until thickened.
- Add cream, Worcestershire, and Dijon mustard. Season with salt and pepper.
- Return meatballs to skillet, cover and simmer for 10–15 minutes until cooked through.