Swedish meatballs, or köttbullar, are tender, gently spiced beef-and-pork meatballs served with creamy pan gravy, mashed potatoes, and lingonberry preserves. This approachable Swedish home-style version balances savory, rich, and tart flavors, with the potatoes cooking while the meatballs brown.
Ingredients
- ½ cup (55 g) plain fine breadcrumbs
- ⅓ cup (80 ml) whole milk
- 1 small yellow onion, finely grated, about ½ cup (75 g)
- 1 large egg
- 1 lb (450 g) ground beef, preferably not extra lean
- ½ lb (225 g) ground pork
- 1 tsp fine salt
- ½ tsp ground black pepper
- ¼ tsp ground allspice
- ⅛ tsp ground nutmeg
- 2 tbsp (28 g) unsalted butter, divided
- 1 tbsp (15 ml) neutral cooking oil
- 2 tbsp (16 g) all-purpose flour
- 1½ cups (360 ml) low-sodium beef broth
- ½ cup (120 ml) heavy cream
- 1 tsp (5 ml) soy sauce, optional
- 1½ lb (680 g) Yukon Gold or other yellow potatoes, peeled and cut into 1-inch (2.5 cm) pieces
- ½ cup (120 ml) warm milk, for the potatoes
- 3 tbsp (42 g) unsalted butter, for the potatoes
- ¼ tsp fine salt, plus more for the potato water
- ½ cup (160 g) lingonberry preserves, for serving
Instructions
- Put the breadcrumbs and ⅓ cup milk in a large bowl and leave them for 5 minutes to soften. Meanwhile, place the potatoes in a saucepan, cover with cold water by about 1 inch (2.5 cm), and add a generous pinch of salt. Bring to a boil, then lower the heat and simmer for 15–18 minutes, until a knife slides easily into the largest piece.
- Add the grated onion, egg, beef, pork, salt, pepper, allspice, and nutmeg to the softened breadcrumbs. Mix gently with your hands or a fork just until evenly combined. Avoid squeezing or kneading the mixture, which can make the meatballs dense. Shape it into about 20 balls, each roughly 1¼ inches (3 cm) across. If the mixture sticks, lightly dampen your hands.
- Heat 1 tablespoon butter and the oil in a large skillet over medium heat. Arrange half the meatballs in the pan without crowding them. Brown for about 5–6 minutes, turning every minute or two so several sides color; they do not need to be fully cooked yet. Transfer them to a plate and brown the remaining meatballs in the same way. Add a little more oil if the skillet looks dry.
- Pour off excess fat if there is more than a thin coating, while leaving the browned bits in the skillet. Reduce the heat to medium-low and melt the remaining 1 tablespoon butter. Sprinkle in the flour and stir for about 1 minute, scraping the pan as it cooks. Gradually whisk in the broth, then the cream and optional soy sauce. Bring the gravy to a gentle simmer, stirring until smooth and lightly thickened, about 3–4 minutes.
- Return the meatballs and any plate juices to the skillet. Turn them in the gravy, cover loosely, and simmer gently for about 5–7 minutes, turning once. Check the center of several of the largest meatballs with an instant-read thermometer; ground meat must reach the USDA FSIS safe minimum of 160°F (71°C). If they need more time, keep simmering and check again. Do not rely on color alone to determine doneness.
- Drain the potatoes thoroughly once tender, then return them to the warm saucepan for about 30 seconds so excess moisture can evaporate. Add the 3 tablespoons butter, warm milk, and ¼ teaspoon salt. Mash until creamy, adding a splash more milk only if needed. Taste the gravy and adjust its seasoning, then serve the meatballs and gravy over the potatoes with lingonberry preserves alongside.
Tips
- Keep the mixture tender. Combine the ingredients only until they come together. Overmixing develops a tighter texture, while the milk-soaked breadcrumbs help the cooked meatballs stay soft. Grating the onion gives it a fine texture that blends into the mixture; if you chop it instead, mince it very finely so larger pieces do not interfere with shaping.
- Brown in batches. A crowded skillet releases moisture and steams the meatballs instead of browning them. Leave a little space between each one and work in two batches if necessary. The browned bits left in the pan are useful flavor for the gravy, so scrape them up as you whisk in the broth.
- Choose a practical lingonberry substitute. Lingonberry preserves have a distinctive tart, lightly bitter fruit flavor and can be hard to find outside Scandinavian shops. Cranberry sauce or tart red-currant jelly is a convenient substitute; cranberry is usually a little sweeter and less sharp, so serve it on the side and start with a small spoonful.
- Adjust the gravy gently. Use low-sodium broth so you can season the sauce to taste. If it becomes too thick, whisk in broth a tablespoon at a time. If it is thin, simmer it uncovered for another minute or two before returning the meatballs. Avoid a hard boil after adding cream, which can make the sauce less smooth.
Serving Suggestions
Serve each portion with a generous spoonful of gravy over mashed potatoes and a separate spoonful of lingonberry preserves. Keeping the preserves on the side lets diners choose how much tart sweetness to add to each bite. A crisp cucumber salad, lightly dressed with vinegar, a pinch of sugar, and salt, is a refreshing counterpoint to the creamy sauce. Steamed green beans, buttered peas, or a simple cabbage salad also work well without competing with the meatballs.
For a relaxed family meal, bring the skillet and a serving bowl of potatoes to the table, with the preserves in a small dish. If you are serving several people, keep the gravy-coated meatballs covered over very low heat while you finish mashing the potatoes; stir occasionally and add a splash of broth if the sauce tightens. Rye bread is useful for catching any gravy left on the plate, though it is optional rather than essential.
Variations
Swedish meatballs have regional and family variations, so this recipe is one practical home-style approach rather than a claim to a single definitive version. For a beef-forward batch, replace the pork with an equal amount of ground beef. The result will be a little less rich and may be slightly firmer. You can also use all pork, though the flavor and texture will differ from a mixed-meat batch.
For a more pronounced warm spice note, increase the allspice to ½ teaspoon; keep the nutmeg restrained so it does not overwhelm the meat. If you do not have allspice, use a small pinch of ground cloves plus a little extra black pepper, knowing that the flavor will be less rounded. For a lighter sauce, replace some or all of the heavy cream with whole milk, then simmer carefully; the gravy will be thinner and less rich. A teaspoon of Dijon mustard stirred into the finished sauce is another optional, tangy variation, not a traditional requirement.
To make the meal without mashed potatoes, serve the meatballs with boiled potatoes, buttered egg noodles, or a sturdy grain. If you want to prepare the meatballs ahead, shape them, cover, and refrigerate them for up to 1 day before cooking. Keep raw meat separate from ready-to-eat foods, and cook the meatballs to the same thermometer-verified safe temperature.
Storage and Reheating
Refrigerate cooked meatballs, gravy, and potatoes within 2 hours of cooking, preferably in shallow, covered containers. They keep for 3–4 days in the refrigerator. For the best texture, store the potatoes separately from the meatballs and sauce, although storing them together is safe if promptly chilled. Lingonberry preserves can be refrigerated according to the package directions after opening.
Reheat a portion in a covered saucepan over low to medium-low heat, stirring occasionally and adding a spoonful of broth or water if the gravy has thickened. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer. You can also microwave a portion in a covered, microwave-safe dish, stirring halfway through and checking the temperature in more than one spot. Avoid repeated cooling and reheating; warm only the amount you plan to eat.
For longer storage, freeze the cooked meatballs and gravy in a freezer-safe container for up to 2–3 months for best quality. Thaw overnight in the refrigerator, then reheat to 165°F (74°C). Mashed potatoes can also be frozen, but their texture may become slightly grainy; stir in a little warm milk or butter as you reheat them. Do not leave the cooked dish at room temperature to cool for an extended period.
Frequently Asked Questions
Can I make Swedish meatballs without pork?
Yes. Replace the ½ lb (225 g) ground pork with the same amount of ground beef. Because lean beef can produce firmer meatballs, choose beef that is not extra lean and mix gently. You can also use ground turkey, but it will have a different flavor and may be leaner; make sure it reaches 165°F (74°C), the USDA FSIS safe minimum for poultry.
Why are my meatballs falling apart?
The mixture may be too wet, insufficiently combined, or handled too much while turning. Let the breadcrumbs absorb the milk before adding the meat, shape compact but not compressed balls, and turn them gently with a thin spatula or tongs. If the mixture is unusually loose, refrigerate it for 15 minutes before shaping; that optional chill adds 15 minutes to the total preparation time.
Can I bake the meatballs instead of browning them in a skillet?
Yes. Arrange them with space between them on a lightly oiled, rimmed baking sheet and bake at 425°F (220°C) for about 12–16 minutes, depending on their size. Check that the centers reach 160°F (71°C) for ground beef and pork, then simmer them briefly in the gravy so they pick up its flavor. Baking is convenient, though it gives less skillet browning for the sauce.
What if I cannot find lingonberry preserves?
Use cranberry sauce, tart red-currant jelly, or another pleasantly sharp berry preserve. Lingonberry is a classic accompaniment, but the meal still works without it. Taste the substitute first: if it is very sweet, serve a smaller amount and add a little vinegar or lemon juice to the cucumber salad rather than mixing acid into the preserves.
Can I prepare the gravy or meatballs in advance?
You can make the gravy and cooked meatballs up to 3–4 days ahead and refrigerate them promptly. Reheat them together gently, adding broth if needed, and bring the leftovers to 165°F (74°C). For the freshest texture, mash the potatoes close to serving time, or prepare them ahead and reheat with a little warm milk while stirring. You can also shape uncooked meatballs a day ahead and keep them covered in the refrigerator until ready to cook.
Related
- Swedish Meatballs with Mushroom Soup: Creamy Skillet Recipe
- Swedish Almond Cake Recipe for a Tender Fika Treat
- Swedish Meatballs with Creamy Gravy
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).