Spoon Swedish meatball sauce over a hot meatball and some of it should stay put. The rest should slide down into the mashed potatoes or noodles underneath, carrying that creamy, beefy gravy with it. If it runs off like broth, it needs more body. If it sits on top like paste, it has gone too far.

It takes about 17 minutes, and you don’t need a pan of freshly browned meatballs to make it. Use whatever meatballs are getting dinner onto the table tonight. Good browned bits in the skillet are a bonus, not a requirement.
Swedish Meatball Sauce Recipe
This Swedish meatball sauce is a creamy beef gravy made with a pale butter-and-flour roux, beef stock, cream, Dijon and soy sauce. It stays loose enough to spoon easily while still leaving a creamy coating on the meatballs.
The finished gravy should taste savory and rounded, with neither the mustard nor soy standing out.
- Prep: about 5 minutes
- Cook: about 12 minutes
- Total: about 17 minutes
- Yield: about 2 cups, depending on the pan and reduction
- Enough for: roughly 1–1½ lb / 454–680 g cooked meatballs, depending on how much gravy you like at the table
Ingredients
- 3 tbsp / 42 g unsalted butter
- 3 tbsp / 24 g all-purpose flour
- 2 cups / 16 fl oz / 475 ml low-sodium beef stock or broth
- ½ cup / 4 fl oz / 120 ml heavy cream
- 2 tsp / 10 ml low-sodium soy sauce
- 1 tsp / 5 ml Dijon mustard
- ¼ tsp white pepper, or black pepper
- Salt, only if needed after tasting
Method
1. Cook a Pale Roux
Melt the butter over medium to medium-low heat. Whisk in the flour and cook for about 1½–2 minutes, whisking regularly.
The roux should bubble gently and stay pale to lightly blond. The dusty smell of raw flour will fade; once it smells buttery instead, move on. A deeply browned roux will push the gravy toward a darker, more roasted flavor than we’re after here.

2. Smooth the First Stock Addition
Warm stock is convenient, but room-temperature stock works too. Pour in about ½ cup / 120 ml—roughly one-quarter of the total—while whisking. The roux will suddenly look much too thick, almost more like paste than gravy.
Don’t start over. This is the stage you want. At this thickness, small lumps are easy to whisk smooth before more liquid goes in. Work around the edges of the pan too, then continue once the mixture is completely smooth.

3. Build the Gravy
Add the remaining stock in several pours, whisking each one smooth before the next. The heavy paste will relax, the whisk will move more easily, and the mixture will turn into a glossy beige gravy.

Bring it to a simmer and cook for about 3–4 minutes, stirring regularly. It should begin leaving a light coating on a spoon. Still looks loose? Give it another minute before changing anything.
4. Add the Cream and Seasonings
Lower the heat and whisk in the heavy cream, soy sauce, Dijon and pepper. The gravy will turn paler and mellower as the cream goes in. Let it come back to a lazy simmer for another 1–2 minutes; small bubbles around the edges are enough.

Taste it now. Add salt only if it needs it, especially if you’re working in a skillet that already held the meatballs.
5. Stop While the Gravy Still Moves
Dip in a spoon. The gravy should leave an opaque layer, then fall back into the pan in a soft ribbon. Drag the spoon through once and the channel should slowly begin filling itself in.

Take the pan off the heat before the gravy becomes heavy. If the cooked meatballs are already hot, turn them through the sauce for about 1–2 minutes. You want a creamy coat on each one, with enough gravy left in the pan to spoon over dinner.

If your gravy is smooth, tastes good and still flows at this point, you’re done. Everything below is troubleshooting, substitutions and make-ahead help if you need it.
Recipe Notes
- Don’t stir dry flour into finished gravy. Give a loose sauce time to simmer first; if it truly needs help, use the small slurry in the troubleshooting section.
- Scaling up: increase the ingredients, but don’t simply double the simmering time. A larger batch may take somewhat longer depending on the pan and heat, so judge the gravy by consistency rather than the clock.
How this recipe was developed: This version draws on published Swedish cream-sauce and meatball-gravy methods, including IKEA’s published scratch formula. This exact formulation has not yet been kitchen-tested by MasalaMonk.
More Help With the Sauce
With Meatball Fond—or Without It
If you’ve just browned meatballs, lift them out and look at the skillet. Brown residue stuck to the pan is useful. A deep pool of rendered grease isn’t.
Pour or spoon off nearly all pooled rendered fat, leaving the browned bits behind. If those bits smell roasted and beefy, keep them. Add the full amount of butter from the recipe and build the roux in the same skillet, scraping the fond loose as the stock goes in.
Brown is good; burnt isn’t. Black residue with an acrid smell is better left behind. A mild cream gravy doesn’t have much room to hide bitterness.

Without a freshly browned skillet, melt the full 3 tablespoons / 42 g butter in a clean pan and carry on. That’s exactly why the sauce works with frozen and leftover meatballs too.
Using the Sauce With Frozen Meatballs
If the meatballs came from the freezer, nothing about the sauce itself needs to change. Heat fully cooked frozen meatballs according to the package directions, drain off any noticeable grease, then turn them through the finished gravy. If they’re already hot, a minute or two is enough.
Raw frozen meatballs are different. Cook them through first; that final minute or two in the gravy is for coating already-cooked meatballs, not cooking raw meat from frozen.

For homemade meatballs, our Swedish meatballs recipe covers the complete dish, including the meatballs and gravy.
For roughly 1–1½ lb / 454–680 g cooked meatballs, one batch should give you sauce for coating and serving. If you want plenty of extra gravy for the potatoes or noodles, make 1½ batches.
Heavy Cream, Milk or Sour Cream?
No heavy cream? You can still make the sauce. Half-and-half or whole milk will make it lighter, while sour cream makes it tangier and usually thicker. These substitutions have not been separately kitchen-tested.
| If you use… | How to use it | What changes |
|---|---|---|
| Heavy cream | Use the main recipe amount: ½ cup / 120 ml | Creamiest, most forgiving result |
| Half-and-half | Start with the same volume as the cream | Lighter and less rich; don’t over-reduce it trying to recreate heavy cream |
| Whole milk | Start with the same volume as the cream | Lighter still, with the beef stock more noticeable |
| Sour cream | Temper with warm gravy and add gradually; no fixed substitution ratio has been tested | Thicker and noticeably tangier; keep it away from a hard boil |
For sour cream, stir a little warm gravy into it first, then gradually whisk the tempered mixture into the pan over low heat.
If IKEA Sauce Is Your Reference Point
IKEA’s published scratch recipe uses 40 g each of butter and flour with 300 ml bouillon and 150 ml double cream, plus soy and Dijon. This version uses less flour relative to its liquid and is designed to finish looser, while keeping the soy and Dijon in the background.

Read the Sauce Before You Fix It
Before reaching for more flour or stock, watch what the gravy actually does. Most consistency problems fall into four recognizable states.
Brothy. The sauce pours easily but leaves almost nothing behind on the spoon. On a meatball, most of it runs straight to the plate.
Silky. The sauce coats the spoon and meatball, then settles back into the pan instead of sitting in a mound. This is where you want to be.
Pasty. The gravy barely moves. Whisk marks stay sharply defined, and sauce falls from a spoon in heavy blobs instead of a ribbon.
Greasy or broken. An oily slick usually points to excess meat fat. Fine graininess or curdled-looking dairy suggests too much heat. Neither problem calls for more flour.

Quick Troubleshooting
| What you see | Likely cause | First move |
|---|---|---|
| Runs straight off the meatball | Still very hot or genuinely under-reduced | Let a spoonful cool briefly and reassess; if still thin, simmer 1 minute |
| Heavy mound or sharp whisk tracks | Over-reduced or cooled | Warm first; if still thick, add stock 1 tbsp / 15 ml at a time |
| Small flour lumps | Liquid went in too quickly | Whisk firmly; strain if needed |
| Raw flour taste | Roux or gravy needs more cooking | Give it another brief simmer |
| Oil slick or fat droplets | Too much rendered meatball fat | Skim excess fat and lower the heat |
| Fine graininess or dairy separation | Dairy got too hot | Remove from strong heat and whisk gently |
| Much thicker after standing | Starch continued setting as it cooled | Warm it before deciding whether it needs more liquid |
| Very dark and bitter | Burnt fond or roux | Start again if the bitterness is strong |
Still Too Thin?
Move a spoonful away from the heat and look again after it has cooled slightly. Very hot gravy appears looser than the same gravy a moment later.
If it is still genuinely broth-like, simmer the sauce for another minute and check again. Only after that should you reach for extra thickener.
For a small rescue, stir 1 teaspoon cornstarch with 1 teaspoon / 5 ml cold water until smooth. Whisk about half into the simmering gravy, wait, then reassess before deciding whether it needs the rest.

If the Sauce Tastes Flat
Once the consistency looks right, taste before adding anything else. Start with salt. When the sauce is salty enough but still tastes muted, try a few drops of soy. For a creamy but dull finish, a small dab of Dijon can wake it up.
Too much Dijon already in the pan? Dilute the sauce with a little stock and cream instead of trying to cover the mustard with sugar.

The Sauce Changes After It Cools
Yesterday’s gravy may look alarmingly thick when it comes out of the refrigerator. Warm it before you fix it. Roux-thickened sauces firm as they cool, so what looks almost spoonable when cold may loosen nicely over low heat.

Refrigerating: Get leftovers into the refrigerator within 2 hours. The USDA’s gravy guidance gives a refrigerated storage window of 3–4 days.
Reheating: Warm the sauce slowly over low heat, stirring as it loosens. Once it is hot, decide whether it actually needs more liquid. If it does, add stock or milk 1 tablespoon / 15 ml at a time. When reheating leftovers for serving, heat them to 165°F / 74°C.
Freezing: The gravy can be frozen, although the dairy may look slightly grainy or separated after thawing. Defrost it in the refrigerator and warm it slowly while whisking. Add a splash of stock or fresh cream only if it still needs loosening once hot.
Holding warm: For a short wait before serving, keep the sauce warm rather than bubbling and stir occasionally. For longer hot holding, keep it at 140°F / 60°C or above. If it thickens while it waits, loosen it with a splash of stock.
What to Serve With Swedish Meatball Sauce
Serve Swedish meatballs and sauce with mashed or boiled potatoes and lingonberry jam for the familiar combination. Green peas complete the well-known IKEA-style plate, while egg noodles are an easy alternative when potatoes aren’t what you want.
With mashed potatoes, the extra gravy settles into the soft ridges underneath. With noodles, leave the sauce slightly loose because they continue soaking it up at the table.

Creamy mashed potatoes reheat well too if you want to prepare both parts of dinner ahead.
Keep the lingonberry jam on the side for a bright, sweet-tart contrast. For something cold and crisp alongside, try a cucumber salad with vinegar and dill.
