This is a beef-and-pork meatball recipe with allspice, nutmeg, and a cream pan gravy built from the drippings. It comes together in about 35 minutes, which makes it genuinely useful on a Tuesday. The gravy is the real reason to make this — it takes maybe five extra minutes and turns a simple meatball into something worth sitting down for.
Shopping notes
- Ground pork: Don’t swap this for all beef. The pork fat is what keeps the meatballs tender rather than dense. Most grocery stores carry it near the ground beef.
- Allspice: Check your spice drawer — it’s easy to confuse with mixed spice or pumpkin pie spice, which won’t work the same way. Ground allspice is a single spice, not a blend.
- Lingonberry jam: IKEA sells it cheaply and it keeps for months in the fridge. Whole-berry cranberry sauce is a reasonable substitute if you’re already stocked.
- Heavy cream: Half-and-half will thin the gravy noticeably. Stick with heavy cream if you want the sauce to coat the meatballs properly.
- Panko breadcrumbs: Regular fine breadcrumbs absorb differently and can make the texture gummy. Panko is worth buying if you don’t have it.
The technique that matters
The panade — panko soaked in milk before mixing — is the step most people skip, and it’s the one that actually determines texture. Dry breadcrumbs mixed straight into the meat absorb moisture unevenly and can leave the meatballs springy or tight. Letting the panko sit in the milk for even two minutes gives you a paste that distributes evenly through the meat, trapping moisture during cooking. The second thing worth doing correctly is building the gravy in the same pan you browned the meatballs in. Those browned bits stuck to the bottom dissolve into the roux and add flavor you can’t replicate any other way. Switching to a clean pan loses that entirely.
Common problems and fixes
- Meatballs fall apart in the pan: The mix was probably overworked or the pan wasn’t hot enough before they went in. Use a light hand when combining the meat, and wait until the oil shimmers before adding the meatballs. Let them sear undisturbed for at least two minutes before trying to turn them.
- Gravy turns out lumpy: The liquid was added too fast or the pan was too hot when it went in. Add the stock in a slow stream while whisking constantly, and pull the pan off the heat for a moment if it’s scorching.
- Gravy is too thin: Let it simmer uncovered for two to three more minutes. It thickens as it reduces. Adding more cream without reducing first just makes it richer without fixing the consistency.
- Meatballs are bland in the center: The spices were probably under-measured or the salt was skipped. Allspice and nutmeg are subtle — measure them properly rather than eyeballing.
- Meatballs are tough: Overmixing develops the proteins in the meat and tightens the texture. Mix only until the ingredients are just combined — stop as soon as you don’t see streaks of egg or dry crumbs.
Make-ahead notes
Cooked meatballs keep well in the fridge for four days in an airtight container, stored separately from the gravy. The gravy thickens considerably when cold — reheat it in a skillet over medium-low with a splash of beef stock or water, whisking until it loosens, then add the meatballs and warm through. Both freeze well: freeze meatballs and gravy separately for up to three months. Thaw overnight in the fridge before reheating. If you’re planning to freeze a batch, skip the garnish — not worth the extra dish. Raw shaped meatballs can also be frozen on a sheet pan until solid, then transferred to a bag; cook them straight from frozen, adding three to four minutes to the browning time.

Weeknight Swedish Meatballs with Creamy Pan Gravy
Equipment
- Large mixing bowl
- Small bowl
- Microplane or box grater
- Measuring cups and spoons
- 12-inch heavy skillet (cast-iron or stainless)
- Whisk
- Tongs or flexible spatula
- Sheet pan or large plate (to hold browned meatballs)
- Instant-read thermometer (optional)
- Medium pot and colander (for noodles, optional)
Ingredients
For the Meatballs:
- ½ cup panko breadcrumbs use fresh panko for best absorption
- ¼ cup whole milk creates a tender panade
- 1 large egg, lightly beaten room temperature if possible
- ¼ cup yellow onion, very finely grated grate on a microplane for ultra-fine texture
- 1 clove garlic, grated optional but adds depth
- 1 tsp kosher salt Diamond Crystal; use 3/4 tsp if using Morton
- ½ tsp freshly ground black pepper
- ¼ tsp ground allspice traditional Swedish flavor
- ¼ tsp ground nutmeg freshly grated if possible
- 1 lb 85% lean ground beef quality matters; choose freshly ground if possible
- 8 oz ground pork adds richness and tenderness
- 1 tbsp neutral oil such as canola or grapeseed, for searing
- 1 tbsp unsalted butter for searing, adds flavor and browning
For the Gravy:
- 2 tbsp unsalted butter for roux
- 2 tbsp all-purpose flour forms a blond roux
- 1 ½ cups low-sodium beef stock warm for faster thickening
- ¾ cup heavy cream for classic richness; avoid boiling hard
- 1 tsp Dijon mustard balances richness
- 1 tsp soy sauce adds savoriness and color
- 1 tsp Worcestershire sauce optional, for depth
- 2 tsp lingonberry jam optional; cranberry jam works in a pinch
- 1 tbsp fresh parsley, finely chopped for finishing and garnish
- 1 pinch kosher salt or to taste; for final seasoning
- 1 pinch freshly ground black pepper or to taste; for final seasoning
To Serve (optional):
- 8 oz wide egg noodles, cooked and buttered or serve with mashed potatoes
- ¼ cup lingonberry jam for the table
Instructions
- Make the Panade: In a large bowl, combine 1/2 cup panko and 1/4 cup milk. Stir and let stand 2 minutes until the crumbs look plush and hydrated.
- Build Flavor in the Mixture: Whisk in the egg, then add the grated onion, garlic, 1 tsp kosher salt, 1/2 tsp pepper, 1/4 tsp allspice, and 1/4 tsp nutmeg. The mixture should smell warmly spiced.
- Add the Meats and Mix Gently: Add the beef and pork. Using a fork or your fingertips, fold just until combined—stop as soon as it looks uniform to keep the meatballs tender. If the mixture feels loose, chill 5 minutes to firm slightly.
- Shape: Lightly oil your hands and scoop into 1 to 1 1/4 tablespoon portions (about 20–24 meatballs). Roll gently for round, crack-free balls.
- Brown the Meatballs: Heat a 12-inch skillet over medium-high until shimmering. Add 1 tbsp oil and 1 tbsp butter. Brown half the meatballs, turning occasionally, until well caramelized, 4–5 minutes. They do not need to be cooked through yet. Transfer to a plate and repeat with the rest. Pour off excess fat, leaving about 2 tbsp in the pan.
- Make a Blond Roux: Reduce heat to medium. Add 2 tbsp butter, then whisk in 2 tbsp flour. Cook, whisking, until the roux turns pale blond and smells nutty, about 2 minutes—avoid browning for a classic Swedish-style sauce.
- Build the Gravy: Gradually whisk in 1 1/2 cups beef stock until smooth. Add 3/4 cup heavy cream, 1 tsp Dijon, 1 tsp soy sauce, and 1 tsp Worcestershire plus 2 tsp lingonberry jam (both optional). Bring to a gentle simmer over medium heat—small bubbles at the edges (about 185–195°F / 85–90°C)—and cook 2–3 minutes until the sauce thickly coats the back of a spoon.
- Simmer to Finish: Return meatballs and collected juices to the pan. Simmer gently, turning once, until cooked through and glazed, 5–7 minutes. Target an internal temperature of 165°F (74°C). Stir in parsley and season to taste with salt and pepper.
- Serve: Spoon meatballs and gravy over warm buttered egg noodles or mashed potatoes. Garnish with extra parsley and a dollop of lingonberry jam.
- Optional Oven Finish: For hands-off cooking, brown briefly then transfer meatballs to a 450°F (232°C) oven for 5–7 minutes to finish while you make the gravy.
Notes
Lisa’s Tips:Â
- Tender Meatballs, Every Time: The milk-and-crumb panade prevents toughness—mix just until combined.
- Grate the Onion: A microplane releases juice and avoids large bits, yielding a smooth texture.
- Balance is Key: A touch of Dijon and soy deepens savoriness without making the gravy taste mustardy or soy-forward.
- Gluten-Free: Use gluten-free panko and thicken the gravy with 1 tbsp cornstarch whisked into 2 tbsp water; stir into simmering stock and finish with cream.
- Dairy-Free: Use olive oil instead of butter and a barista-style oat creamer; reduce heat to avoid splitting.
- Lean Swap: Turkey or chicken works—add 1 extra tbsp milk to keep things juicy.
Serving Suggestions:Â
Present in a warm, shallow bowl. Nest a tangle of buttered noodles or a scoop of creamy mash, then pile on meatballs and nap with glossy, taupe gravy. Finish with chopped parsley and a bright ruby dollop of lingonberry jam for color contrast. Pair with quick-pressed cucumber salad, buttered peas, and a crisp lager or lingonberry spritz.Culinary Context:Â
Known as köttbullar, Swedish meatballs often appear on family tables and festive spreads alike. The signature allspice–nutmeg profile and cream gravy distinguish them from other European meatballs. In Stockholm, I fell for the ritual of pairing them with tart lingonberries and pickled cucumbers—this recipe brings that balance to a weeknight format.Optional Advanced & Make-Ahead:Â
- Make-Ahead Meatballs: Shape and chill up to 24 hours, or brown and freeze up to 2 months. Simmer from frozen 8–10 minutes in gravy.
- Parallel Prep: Start boiling noodles while you brown batch one. Grate onion and measure gravy ingredients during the panade rest.
- Oven Sear Alternative: Bake on a rack at 450°F (232°C) for 10–12 minutes to brown; finish in gravy 3–5 minutes.
Timing:Â
- Prep Time: 15 minutes (0 hr 15 min)
- Cook Time: 20 minutes (0 hr 20 min)
- Total Time: 35 minutes (0 hr 35 min)
Course & Origin:Â
Course: Dinner, Main CourseCuisine/Origin: Swedish, Scandinavian
Nutrition
FAQ
Can I use all beef instead of a beef-pork mix?
You can, but the meatballs will be noticeably firmer and less juicy. The fat in the ground pork is what gives Swedish meatballs their softer texture — beef alone doesn’t have enough fat to compensate, even with the panade.
Do I have to use lingonberry jam, or can I skip it?
You can skip it, but the gravy is rich and the jam genuinely cuts through that richness in a way that makes the dish feel more balanced. Whole-berry cranberry sauce works as a substitute if lingonberry isn’t available.
What’s the best way to serve these if I’m feeding more than four people?
Double the meatball batch and brown them in two rounds — crowding the pan causes steaming instead of searing. The gravy recipe scales up easily, and keeping finished meatballs warm in a low oven (200°F) while you finish the sauce works well for a larger group.
More quick recipes to try
- Easy Silky Brown Gravy
- Weeknight Hamburger Soup
- Speedy Twice-Baked Potato Casserole
- Quick Chicken Noodle Soup
