Swedish Meatballs
Swedish Meatballs With Creamy Gravy, Ready in 60 Minutes
Most Swedish meatballs go wrong in one of two places: the meatballs come out dense as golf balls, or the gravy tastes like raw flour and salt. This version fixes both. A paste of milk and breadcrumbs keeps the beef tender, and a butter based gravy finished with cream turns out glossy instead of gluey.
Allspice and a little nutmeg supply the flavor that separates Swedish meatballs from plain beef in brown sauce. Grated onion melts into the meat, so nobody bites into a raw chunk. A spoonful of Dijon in the gravy cuts the richness. The meatballs brown first, then finish cooking inside the sauce, which lets the gravy pick up the savory browned bits while the meatballs stay juicy.
You need one skillet, about an hour, and ingredients from any regular grocery store. Ladle them over mashed potatoes or buttered egg noodles, add a spoonful of lingonberry jam on the side, and dinner for six is done.

Why These Swedish Meatballs Hold Up Better Than Most
The milk and breadcrumb paste, called a panade, sits inside every meatball as stored moisture. Plain beef squeezes out its juices as it cooks; the panade grabs a share of them back.
Allspice carries the flavor. Half a teaspoon in 1 1/2 pounds of beef reads as distinctly Swedish without drifting into pumpkin pie territory.
Grated onion vanishes into the meat, so the mixture rolls smoothly and never cracks along an onion chunk.
Everything happens in one skillet. The browned bits stuck to the pan go straight into the gravy, where they add roasted depth that no bouillon cube can copy.
The gravy starts as a roux and gets its cream last. That order keeps it glossy and stable, and it holds its body for 20 minutes on a warm burner while you mash potatoes or boil noodles.
Quick Recipe Snapshot
- Prep time: 20 minutes
- Rest time: 10 minutes
- Cook time: 30 minutes
- Total time: 60 minutes
- Servings: 6
- Difficulty: Easy
- Calories: about 470 per serving
- Most important tool: a 12 inch skillet with sides
- Best for: weeknight dinners, family gatherings, and freezer stocking
Ingredients
For the Meatballs
The milk and breadcrumbs form the panade that protects tenderness, the egg binds, and the spices give the meatballs their identity.
- 1/2 cup plain dried breadcrumbs
- 1/2 cup whole milk
- 1 1/2 pounds ground beef, 80/20
- 1 large egg
- 1 small yellow onion, finely grated (about 1/3 cup with its juice)
- 1 1/2 teaspoons kosher salt
- 1/2 teaspoon ground black pepper
- 1/2 teaspoon ground allspice
- 1/4 teaspoon ground nutmeg
- 2 tablespoons butter plus 1 tablespoon neutral oil, for browning
For the Cream Gravy
Butter and flour build the body, broth brings the savory backbone, and cream rounds it out at the end.
- 3 tablespoons unsalted butter
- 3 tablespoons all purpose flour
- 2 cups beef broth
- 1/2 cup heavy cream
- 1 teaspoon Dijon mustard
- 1 teaspoon fresh lemon juice
To Serve
- 1/4 cup lingonberry jam
- Chopped fresh parsley
You may also like: cheeseburger soup
Why the Key Ingredients Matter
Beef at 80/20 has enough fat to stay moist through a browning and a simmer. Leaner blends dry out before the centers reach temperature. Allspice tastes like a blend of cinnamon, clove, and pepper in one jar, so it does the work of three spices at once. The lemon juice is small but essential: without it, the cream and butter sit heavy on the palate.
Substitutions
Half and half replaces heavy cream if you whisk 1 teaspoon of cornstarch into a tablespoon of cold broth first and stir that in, since the lighter dairy needs help thickening. Ground dark meat turkey works in place of beef, but add an extra tablespoon of butter to the meat mixture because turkey runs drier. Panko crumbs work as breadcrumbs, though they absorb milk slower, so give the panade 8 minutes instead of 5. Whole milk can be swapped with unsweetened oat milk if needed.
Recipe Timing
- Prep: 20 minutes
- Rest: 10 minutes
- Cook: 30 minutes
- Total: 60 minutes
- Servings: 6
- Difficulty: Easy
- Cuisine and course: Swedish, main dish
Allergen and Dietary Disclosure
This recipe contains dairy (milk, butter, cream), egg, and gluten (breadcrumbs and flour). Swap the breadcrumbs for gluten free crumbs and the flour for a 1 to 1 gluten free blend. For dairy, use dairy free butter and unsweetened oat cream, and replace the milk in the panade with oat milk. No direct swap exists for the egg in this recipe, though a second tablespoon of panade paste helps hold the meatballs together. Check labels on broth and breadcrumbs, since brands differ in what else they process.
Equipment Needed
- 12 inch skillet with 2 inch sides: wide enough to brown 16 meatballs without crowding. Choose one with a heavy base so the gravy does not scorch when you scrape up the browned bits.
- Box grater: the fine holes turn onion into a wet pulp that disappears into the meat.
- 1 tablespoon cookie scoop: keeps all 32 meatballs the same size so they finish cooking together.
- Digital thermometer: the only reliable way to confirm ground beef has reached 160°F.
- Balloon whisk: works the roux and broth smooth faster than a wooden spoon.
Nutrition Information
Per serving (5 to 6 meatballs with about 1/3 cup gravy), estimated:
| Nutrient | Amount |
|---|---|
| Calories | 470 |
| Protein | 23 g |
| Carbohydrates | 12 g |
| Fat | 36 g |
| Fiber | 1 g |
| Sugar | 3 g |
| Sodium | 720 mg |
The protein per serving covers roughly 40 percent of a typical daily target, so one plate is a full meal with a side vegetable. These numbers are estimates only, calculated from USDA FoodData Central values for the raw ingredients, and they shift with brands and how much fat drains from the skillet.
How the Meatballs Turn Out Tender
What Makes Swedish Meatballs Different From Other Meatballs?
Swedish meatballs are small, seasoned with allspice and nutmeg, and served in a cream gravy, while Italian meatballs are larger, driven by herbs and cheese, and simmered in tomato sauce.
What the Panade Does
Picture the panade as tiny sponges wedged between the strands of meat. Heat tightens the beef and pushes out liquid, but the soaked breadcrumbs hold on to a portion of it. Without them, the same 1 1/2 pounds of beef comes out closer to a hockey puck.
Why the Gravy Starts With a Roux
Cooking flour in butter for 90 seconds works like toasting bread before spreading jam: the raw starchy edge disappears and a nutty note replaces it. Skip that step and the gravy keeps a pasty taste no amount of salt can hide.

Preparation
Grate the onion on the fine side of the grater and scrape every drop of juice into the bowl. Measure the allspice, nutmeg, salt, and pepper into a small dish so nothing gets forgotten mid roll. Line a rimmed tray with parchment paper. Set the broth in a microwave safe jug and warm it for 90 seconds; hot broth blends into a roux without lumps.
Callout: Keep the onion juice. It carries flavor into the meat and loosens the mixture just enough that you can combine everything with fewer strokes, which protects the tender texture.
Step by Step Method
Stir the breadcrumbs into the milk in a medium bowl and wait 5 minutes, until the mixture thickens into a paste that holds the mark of a spoon.
Because overmixing tightens beef, add the ground beef, egg, grated onion with its juice, salt, pepper, allspice, and nutmeg, then work everything together with your hands for about 45 seconds, stopping once no streaks of egg remain.
Use the scoop to portion 32 balls, roll each one gently between wet palms into a smooth sphere about 1 inch across, and set them on the tray. Slide the tray into the refrigerator for 10 minutes.
Chef’s Note: This chilling step gets skipped most often, and it matters most. Cold fat holds firm against the pan, so the meatballs keep their round shape instead of flattening on one side.
While the tray chills, warm 1 tablespoon of butter and the oil in the skillet until the foaming dies down and the butter smells faintly like toasted nuts.
Lay half the meatballs in the pan with space between each one. Turn them every minute or so for 5 to 6 minutes, until a dark mahogany crust covers most surfaces. They will stay raw inside, and that is intended. Transfer them to a plate.
Chef’s Note: Crowding the pan drops the temperature and produces steamed, gray meatballs. Two batches take 6 extra minutes and add far more flavor.
Wipe out the pan with a paper towel if the drippings look burnt; otherwise pour off all but 1 tablespoon of fat. Brown the second batch the same way, adding the remaining tablespoon of butter if the pan looks dry.
Melt the 3 tablespoons of gravy butter in the same skillet, sprinkle in the flour, and whisk constantly for 90 seconds, until the paste turns pale tan and smells like toasted nuts.
Pour in the warm broth in 3 additions, whisking after each until it turns smooth before adding more. Let it simmer for 3 minutes until it coats the back of a spoon.
Chef’s Note: Warm broth is the reason the gravy stays smooth. Cold liquid seizes the roux into small lumps that take five minutes of frantic whisking to fix.
Stir in the cream, Dijon, and lemon juice. Return all the meatballs to the skillet, nudge them into the sauce, and lower the flame until only a few bubbles break the surface. Cover partly and cook for 8 to 10 minutes. Insert the thermometer into a meatball’s center; 160°F means they are done.
Rest the pan off the burner for 3 minutes so the gravy tightens. Add a pinch of salt only if it needs it, since the broth and Dijon already contribute plenty. Scatter parsley on top.
Expert Tips and Tricks
Shape ahead. Roll the meatballs up to 24 hours before cooking and keep them covered on the tray in the refrigerator. Cold meatballs brown better.
Cool fast for storage. Spread leftovers in a shallow container so the center cools within 2 hours. A deep pot of hot gravy stays in the danger zone too long.
Fry a test spoonful. Before rolling, cook a teaspoon of the mixture in a dry pan for 1 minute, then taste. Adjusting salt or allspice takes seconds now and impossible later.
Grate fresh nutmeg. A whole nutmeg costs a few dollars, lasts for years, and tastes twice as strong as the pre ground version.
Use homemade stock for depth. If you have a batch on hand, the gravy tastes noticeably richer than with store versions. [internal link: homemade beef broth]
Thin the gravy with broth, not water. Water dilutes flavor, while a splash of warm broth loosens the texture and keeps the taste.
You may also like: shrimp tacos
Common Mistakes and Troubleshooting
Dense, rubbery meatballs. The cause is overmixing or beef leaner than 80/20. Mix for 45 seconds at most. If a batch has already turned tough, slice the meatballs thin and serve them in extra gravy over noodles.
Pale meatballs with no crust. The pan was too cool or too crowded. Wait until the butter smells nutty before adding meat, and keep 1 inch of space around each ball.
Lumpy gravy. Cold broth or too much added at once causes lumps. Pour the mixture through a fine mesh strainer into a clean pan, then reheat gently.
Gravy that splits and looks oily. Boiling after the cream goes in breaks the emulsion. Lower the heat until only tiny bubbles show. To rescue a broken batch, whisk in 2 tablespoons of warm broth off the heat.
Gravy that tastes salty. Store bought broth varies wildly. Use low sodium broth and season only at the end.
Honest Trade-Off
Traditional recipes usually blend two kinds of ground meat for a softer, springier bite. An all beef version delivers deeper savory flavor but a slightly firmer texture. Cooks who prefer a very soft bite, such as families with young children, can replace 1/2 pound of beef with ground dark meat turkey.
Storage and Make Ahead
Refrigerate cooled Swedish meatballs in gravy in a sealed container for up to 4 days. Reheat gently in a skillet with a splash of broth, since the gravy stiffens as it chills, until the center reaches 165°F. They freeze well: pack them with gravy in a freezer safe container for up to 3 months and thaw overnight in the refrigerator. To freeze raw, set shaped meatballs on a tray until firm, about 2 hours, then bag them.

Variations and Substitutions
Oven baked: Bake the meatballs on a lined tray at 425°F for 15 to 18 minutes, until browned and 160°F inside, then simmer them in the gravy for 5 minutes.
Spicy: Add 1/4 teaspoon cayenne to the meat mixture and 1 teaspoon prepared horseradish to the gravy.
Mild for kids: Skip the Dijon and reduce the nutmeg to a pinch.
Turkey: Swap in ground dark meat turkey, plus 1 extra tablespoon of butter mixed into the meat.
Gluten free: Use gluten free breadcrumbs and a 1 to 1 gluten free flour blend for the roux.
Serving Suggestions
Mashed potatoes are the classic base because they soak up gravy like a sponge. [internal link: mashed potatoes] Buttered egg noodles work just as well when you want something quicker.
Cold, crisp cucumber pickles balance the richness with acid. [internal link: quick pickled cucumbers] Steamed green beans or roasted carrots add color to the plate.
A small spoonful of lingonberry jam belongs next to the meatballs. Sparkling water with lemon or iced black tea keeps the meal from feeling heavy.
Callout: Stir 1 teaspoon of lingonberry jam directly into your own serving of gravy. The tartness sharpens the cream and makes each bite taste less rich.
You may also like: beef and broccoli
Frequently Asked Questions
Can I make Swedish meatballs ahead of time?
Yes, and the gravy behaves even better after a night in the refrigerator because the flour fully hydrates. Cook everything, cool it within 2 hours, and refrigerate in a sealed container for up to 4 days. Reheat gently in a skillet with a splash of broth, since the gravy thickens as it chills. For longer storage, freeze the meatballs in gravy for up to 3 months.
Why are my meatballs tough or dry?
Overmixing and lean beef cause most cases. Working the meat past the point where the ingredients blend packs the proteins tightly, and beef leaner than 80/20 lacks the fat to stay juicy. Mix for under a minute, keep the milk soaked breadcrumbs in the recipe, and pull the meatballs at 160°F instead of letting them simmer another 15 minutes.
What can I use instead of heavy cream?
Half and half works with one adjustment: whisk a teaspoon of cornstarch into a tablespoon of cold broth, then stir it in so the gravy still thickens. Whole milk is thinner and looks pale. For a dairy free option, unsweetened oat cream is the closest match for body, though it adds a faint sweetness that the Dijon partly covers.
How do I know when Swedish style meatballs are cooked through?
Check the center with a digital thermometer: 160°F is the safe number for ground beef, according to USDA guidance. Without one, cut a meatball open. The inside should look uniformly brown with no pink streaks, and the juices should run clear. Because the gravy simmer lasts 8 to 10 minutes after browning, most 1 inch meatballs reach temperature right on schedule.
What allergens are in Swedish meatballs, and can I swap them?
The recipe contains milk, butter, cream, egg, and wheat from the breadcrumbs and flour. Gluten free crumbs and a 1 to 1 gluten free flour blend replace the wheat, while dairy free butter and oat cream cover the dairy. The egg has no direct swap. Check every label, since broth and breadcrumb brands vary, and consult a doctor for serious allergies.
Conclusion
The quickest upgrade after your first batch of Swedish meatballs is doubling the meat mixture and freezing half of the raw balls. Shape them, freeze them on a tray until firm, about 2 hours, then bag them. They go from freezer to skillet with a couple of extra minutes of browning and 5 more minutes in the gravy, and a fresh pot of gravy takes 12 minutes while they cook. That turns a 60 minute recipe into a 35 minute weeknight dinner on the second round. Write your preferred allspice and nutmeg amounts on the recipe card after the first batch, because some cooks land on 3/4 teaspoon of allspice and others pull the nutmeg back to a pinch, and the next round should take no guessing.

Swedish Meatballs With Creamy Gravy
Ingredients
Method
- Stir breadcrumbs into milk and wait 5 minutes until thick.
- Mix in beef, egg, onion, salt, pepper, allspice, and nutmeg for about 45 seconds.
- Portion and roll 32 balls, then chill for 10 minutes.
- Warm 1 tablespoon butter and the oil until it smells nutty.
- Brown half the meatballs 5 to 6 minutes, until mahogany, and set aside.
- Drain to 1 tablespoon fat and brown the second batch.
- Melt gravy butter, whisk in flour for 90 seconds until pale tan.
- Add warm broth in 3 additions and simmer 3 minutes.
- Stir in cream, Dijon, and lemon juice, return meatballs, and cook 8 to 10 minutes until 160°F.
- Rest 3 minutes, season with a pinch of salt if needed, and top with parsley.






6 Comments
Comments are closed.