Swedish meatballs, or köttbullar, are small, gently spiced beef-and-pork meatballs served with a creamy brown gravy. This Swedish classic is especially satisfying with mashed potatoes, tart lingonberries, and cucumber; recipes vary between households, but the method here keeps the meatballs tender and the sauce balanced.
Ingredients
- ½ cup (55 g) plain fine breadcrumbs
- ½ cup (120 ml) whole milk
- 1 tablespoon (14 g) unsalted butter, for the onion
- 1 small yellow onion, about ½ cup finely minced (100 g)
- 1 pound (454 g) ground beef, preferably 80–85% lean
- ½ pound (227 g) ground pork
- 1 large egg, about 1¾ ounces (50 g), lightly beaten
- 1 teaspoon (6 g) fine salt
- ¼ teaspoon (0.5 g) ground white pepper
- ¼ teaspoon (0.5 g) ground allspice
- 2 tablespoons (28 g) unsalted butter, for browning
- 2 tablespoons (16 g) all-purpose flour
- 1½ cups (360 ml) low-sodium beef broth
- ¾ cup (180 ml) heavy cream
- 1 teaspoon (5 ml) soy sauce, optional, for a deeper brown color and savory note
- 1 tablespoon (4 g) chopped fresh parsley, optional, to garnish
- ½ cup (160 g) lingonberry preserves or jam, for serving
Instructions
- Put the breadcrumbs in a medium bowl and pour over the milk. Stir once and leave for 5 minutes so the crumbs absorb the liquid. This soft breadcrumb mixture, sometimes called a panade, helps keep the meatballs moist rather than dense.
- While the crumbs soak, mince the onion finely. Melt 1 tablespoon (14 g) butter in a small skillet over medium heat. Add the onion and cook for about 5 minutes, stirring, until soft and translucent but not browned. Transfer it to a plate and let it cool for a few minutes; hot onion can start to cook the egg when mixed in.
- Add the beef, pork, beaten egg, salt, white pepper, allspice, and cooled onion to the breadcrumb mixture. Mix gently with your hands or a fork just until evenly combined. Stop as soon as no streaks of egg or breadcrumb remain; compacting or kneading the mixture makes the meatballs firm.
- Moisten your hands with cold water and roll the mixture into about 20 balls, each roughly 1½ inches (4 cm) across. Arrange them on a plate or tray. Similar-sized meatballs cook at a similar rate, and damp hands make the mixture easier to shape.
- Melt 2 tablespoons (28 g) butter in a large, heavy skillet over medium heat. Working in batches so the pan is not crowded, brown the meatballs on several sides for 6–8 minutes per batch. Turn them carefully with a spoon or tongs; they do not need to be cooked through yet. Move browned meatballs to a clean plate. If the butter begins to darken or smoke, lower the heat.
- When all the meatballs are browned, remove the skillet from the heat briefly. Sprinkle the flour into the remaining fat and browned bits, then stir over medium-low heat for about 1 minute until the flour is incorporated and smells lightly toasted. It should not become very dark.
- Pour in the beef broth gradually, whisking or stirring constantly to loosen the browned bits and prevent lumps. Bring it to a gentle simmer, then stir in the cream and optional soy sauce. Return the meatballs and any juices on the plate to the skillet. Simmer gently for 8–12 minutes, turning the meatballs once, until the sauce lightly coats a spoon and the centers of the meatballs reach 160°F (71°C). The USDA FSIS safe minimum for ground meat is 160°F (71°C); check a large meatball with a food thermometer, rather than judging doneness by color alone.
- Taste the gravy and adjust the salt if needed. If it is thicker than you like, stir in a tablespoon or two of broth; if it is thin, simmer the meatballs uncovered for another minute or two. Sprinkle with parsley, if using, and serve hot with lingonberry preserves on the side.
Tips
- Choose the right grind. A mix of beef and pork gives the meatballs a traditional, rounded flavor and a softer texture than very lean beef alone. If you can only find lean ground meat, take extra care not to overmix it, and do not skip the milk-soaked breadcrumbs.
- Keep the seasoning gentle. Allspice and white pepper are classic seasonings, but they should support the meat rather than dominate it. Ground white pepper has a milder, less visibly speckled appearance; black pepper works in the same amount if that is what you have, though it tastes a little sharper.
- Brown in batches. A crowded pan traps steam, making it harder to build the flavorful browned bits that season the gravy. If the skillet is small, brown the meatballs in three batches and add a little butter only if the pan becomes dry.
- Use lingonberries if available. Lingonberry preserves are a familiar Swedish accompaniment, but they can be hard to find. Cranberry sauce or tart red-currant jelly is a practical substitute; both are usually sweeter or less tart, so serve them in a small dish rather than stirring a large amount into the gravy.
Serving Suggestions
Serve the meatballs and plenty of gravy over buttery mashed potatoes, which catch the sauce and make a classic, hearty plate. Boiled potatoes are another good choice, especially small waxy potatoes tossed with butter and dill. Offer lingonberry preserves at the table so each person can add a little tart sweetness alongside the savory meat and cream sauce.
For a more complete Swedish-style meal, add quick-pickled cucumber or a crisp cucumber salad. The clean, acidic flavor gives a useful contrast to the rich gravy. A spoonful of lightly cooked green peas or buttered green beans also works well. If serving family-style, keep the meatballs warm in the skillet over very low heat and put the potatoes, berries, and vegetables in separate dishes so diners can build their own plates.
Variations
Use a different meat ratio: The beef-and-pork blend gives a familiar balance, but some household versions use more pork or all beef. All-beef meatballs taste beefier and may be a little firmer; pork-heavy meatballs are milder and softer. Keep the total amount of ground meat at 1½ pounds (681 g), and cook every variation to the same safe internal temperature.
Make the sauce without cream: For a less rich brown gravy, replace the ¾ cup (180 ml) heavy cream with the same amount of whole milk. The sauce will be thinner and less velvety, so simmer it gently and avoid a hard boil. You can also use half-and-half, which falls between milk and cream in richness.
Make a gluten-free version: Use certified gluten-free breadcrumbs and replace the all-purpose flour with a gluten-free flour blend that is suitable for thickening sauces. Check that the broth and soy sauce are also gluten-free; tamari is a useful soy-sauce alternative, though its flavor can be more pronounced. The texture of the gravy may vary slightly by flour blend.
Adjust the spice: A small pinch of ground nutmeg is used in some versions and can be added alongside the allspice. It is not necessary for a good result. If you prefer a more pepper-forward flavor, increase the white pepper slightly, but avoid adding several strong spices at once or the meat’s mild seasoning will be lost.
Storage and Reheating
Refrigerate cooked meatballs and gravy within 2 hours of cooking, in a shallow, covered container. They keep for 3–4 days in the refrigerator. Store the lingonberry preserves separately. The gravy may thicken as it cools, which is normal; loosen it with a splash of broth or water when reheating.
For the stovetop, place the meatballs and sauce in a covered skillet over low heat, stirring gently from time to time until hot throughout. Add a little liquid if the sauce becomes too thick. You can also microwave a portion in a covered, microwave-safe dish, stirring midway through. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer. Avoid prolonged boiling, which can make the meatballs tough and cause a cream-based sauce to separate.
To freeze, cool the meatballs and gravy promptly, divide them into airtight freezer containers, and freeze for up to 3 months for best quality. Thaw in the refrigerator before reheating, or reheat from frozen over low heat with a splash of broth, allowing extra time and stirring carefully. The sauce can look slightly separated after freezing; gentle heating and stirring usually bring it back together.
Frequently Asked Questions
Are Swedish meatballs the same as Italian meatballs?
They are both seasoned ground-meat mixtures, but the flavors and usual accompaniments differ. Swedish meatballs are typically small and gently seasoned with spices such as allspice or white pepper, then served with a creamy brown gravy and lingonberries. Italian-style meatballs often use herbs, garlic, and tomato sauce, though recipes in both traditions vary.
Can I make the meatballs ahead?
Yes. Shape the uncooked meatballs, cover them, and refrigerate for up to 1 day before browning and simmering. For the best texture, do not leave the raw mixture at room temperature while preparing other dishes. You can also make the complete recipe a day ahead and reheat it gently; the gravy may need a little broth to loosen.
Why are my meatballs tough?
The most common causes are overmixing, packing the balls too tightly, using very lean meat, or cooking them for too long. Mix only until combined, roll them lightly, and simmer gently rather than boiling hard. A thermometer helps prevent guessing: ground meat should reach 160°F (71°C), but it need not be cooked far beyond that point.
What can I use instead of lingonberry preserves?
Tart cranberry sauce or red-currant jelly is the easiest substitute. Lingonberries have a distinctive sharp, berry-like tartness, so alternatives will not taste exactly the same. Cranberry sauce is often chunkier and sweeter; red-currant jelly is smoother. Serve either on the side, and offer a modest spoonful so it complements rather than overwhelms the gravy.
Can I bake the meatballs instead of pan-browning them?
Yes, although they will have fewer browned surfaces and the gravy will miss some of the skillet flavor. Arrange the meatballs with space between them on a rimmed baking sheet and bake at 400°F (200°C) until their centers reach 160°F (71°C), checking with a thermometer. Make the sauce separately in a skillet, then add the cooked meatballs and any baking-sheet juices to warm through.
Can I use only beef or only pork?
Either works, though the result will differ from a balanced beef-and-pork mixture. All-beef meatballs have a more pronounced beef flavor, while all-pork ones are softer and milder. Keep the total meat quantity the same, handle the mixture gently, and verify that the centers reach 160°F (71°C) whichever meat you choose.
Related
- Swedish Meatballs with Grape Jelly Sauce
- Swedish Yellow Pea Soup: A Classic Ärtsoppa Recipe
- Swedish Recipes With Chicken: Creamy Dill Chicken Skillet
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).