Swedish meatballs are small, gently spiced beef-and-pork meatballs served with a creamy pan gravy, often alongside potatoes and tart lingonberry preserves. This home-style version keeps the meat tender with milk-soaked breadcrumbs and uses allspice, nutmeg, and a quick gravy; Swedish households and recipes vary in seasoning and accompaniments.
Ingredients
- ½ cup (55 g) plain fine breadcrumbs
- ⅓ cup (80 ml) whole milk
- 1 tablespoon (15 ml) neutral oil or butter, for the onion
- ½ cup (75 g) finely minced yellow onion, about ½ medium onion
- 1 pound (450 g) ground beef, preferably 80–85% lean
- ½ pound (225 g) ground pork
- 1 large egg (about 50 g without shell)
- ¾ teaspoon (4 g) fine salt
- ¼ teaspoon (0.5 g) ground black pepper
- ¼ teaspoon (0.5 g) ground allspice
- ⅛ teaspoon (0.25 g) ground nutmeg
- 2 tablespoons (28 g) unsalted butter, for the gravy
- 2 tablespoons (16 g) all-purpose flour
- 1½ cups (360 ml) low-sodium beef broth
- ½ cup (120 ml) heavy cream
- 1 teaspoon (5 ml) soy sauce
- 1 teaspoon (5 ml) Dijon mustard
- 1 tablespoon (15 ml) water, plus more as needed to adjust the gravy
- 2 tablespoons (8 g) chopped parsley, optional
- ½ cup (160 g) lingonberry preserves, for serving; cranberry preserves are a practical substitute, though they are usually sweeter and less tart
Instructions
- Soften the breadcrumbs. Stir the breadcrumbs and milk together in a large bowl. Leave them for 5 minutes, while you prepare the onion. The crumbs should absorb most of the milk and form a soft paste; this helps keep the cooked meatballs tender.
- Cook and cool the onion. Warm the tablespoon of oil or butter in a small skillet over medium heat. Add the minced onion and cook for 4–5 minutes, stirring occasionally, until soft and translucent but not browned. Scrape it onto a plate and let it cool for about 5 minutes. A hot onion mixture can begin cooking the egg or meat as you combine them.
- Mix the meatball mixture. Add the beef, pork, egg, salt, pepper, allspice, nutmeg, and cooled onion to the breadcrumb paste. Mix gently with clean hands or a fork just until evenly combined. Avoid squeezing or kneading the mixture for a long time; overmixing can make meatballs dense. If it feels very sticky, dampen your hands rather than adding extra breadcrumbs.
- Shape the meatballs. Roll the mixture into about 20 meatballs, each roughly 1½ inches (4 cm) across. Keep them close in size so they cook at a similar rate. Set them on a plate or tray as you work. If the mixture sticks, rinse and lightly dry your hands between batches.
- Brown and cook through. Set a large skillet over medium heat and add a thin film of oil if the pan is dry. Working in batches so the meatballs are not crowded, brown them on several sides, turning gently, for about 8–10 minutes per batch. Transfer them to a clean plate as they finish browning. Check the center of several of the largest meatballs with a food thermometer: ground beef and pork must reach the USDA FSIS safe minimum internal temperature of 160°F (71°C). If they need more time, return them to the skillet and cook gently, turning as needed. The meatballs can finish cooking in the gravy in the next step.
- Make the gravy. Pour off excess fat from the skillet, leaving about 1 tablespoon of drippings. Add the butter. When melted, whisk in the flour and cook for about 1 minute, stirring constantly, until the mixture looks smooth and lightly golden. Gradually whisk in the broth, scraping up the browned bits from the pan. Bring it to a gentle simmer and whisk until it begins to thicken, about 3–4 minutes.
- Finish the dish. Stir in the cream, soy sauce, and Dijon. Add the meatballs and any juices from their plate. Simmer gently for 3–5 minutes, turning the meatballs once, until they are hot throughout and the gravy coats them. Do not boil hard after adding the cream. If the gravy becomes thicker than you like, stir in water a tablespoon at a time. Sprinkle with parsley if using, and serve hot with lingonberry preserves.
Tips
- Keep the mixture tender. Mix only until the ingredients come together, and use a light touch when rolling. Breadcrumbs soaked in milk provide moisture without requiring a loose mixture that is difficult to shape.
- Brown in batches. A crowded skillet traps steam, so the meatballs can turn pale and release liquid instead of developing a browned surface. Leave a little space around each one; use a second batch rather than trying to fit them all at once.
- Adjust the seasoning before shaping, if desired. If you want to check the balance, cook a teaspoon-sized piece of the mixture in the skillet, taste it, and adjust the salt or spices in the uncooked mixture. Wash hands and any surfaces that touched raw meat before handling cooked food.
- Use the right substitute thoughtfully. Lingonberry preserves are traditional in many Swedish-style servings but may be hard to find. Cranberry preserves work well; taste them first, since some are sweeter, and serve a smaller spoonful or add a squeeze of lemon to bring more tartness to the plate.
Serving Suggestions
Serve the meatballs and plenty of gravy over boiled or mashed potatoes for a filling, familiar meal. Buttered egg noodles are a convenient alternative, although potatoes make a particularly good base for catching the sauce. Add lingonberry preserves on the side rather than stirring them into the gravy, so each person can balance the savory meat and creamy sauce with as much tart fruit as they like.
For a vegetable, try steamed green beans, peas, or lightly sautéed cabbage. A crisp cucumber salad or pickled cucumber adds a cool, tangy contrast to the rich gravy. If you are serving several sides, keep portions modest: the meatballs, potatoes, and preserves are already substantial. For a simple weeknight plate, offer one vegetable and a spoonful of preserves and serve the meatballs directly from a warm skillet or shallow serving dish.
Variations
Use all beef or all pork. The blend of beef and pork gives the meatballs a rounded flavor, but either meat can be used alone. All-beef meatballs may taste a little more robust and can be firmer, while all-pork meatballs are typically milder and richer. Keep the same total amount of meat and cook to 160°F (71°C).
Make the gravy without cream. Replace the heavy cream with an equal amount of whole milk for a lighter, less rich sauce. Because milk is thinner, simmer the gravy gently and use a little less broth at first; add more only if needed. For a dairy-free version, use unsweetened, unflavored oat cooking cream and plant-based butter, understanding that the flavor and thickness will differ.
Change the spice balance. Allspice and nutmeg give the meatballs their familiar warm aroma. You can omit the nutmeg or reduce the allspice for a subtler result, but adding a large amount of either can overwhelm the meat. A small pinch of white pepper may be used instead of black pepper for a gentler pepper flavor.
Make smaller party-size meatballs. Shape the mixture into 1-inch (2.5 cm) balls and begin checking them earlier, since smaller meatballs cook faster. Brown them in batches and verify that the centers reach the safe temperature. Serve with cocktail picks and a small bowl of gravy for dipping, keeping the preserves separate.
Storage and Reheating
Refrigerate cooked meatballs and gravy within 2 hours of cooking, in a shallow airtight container. They keep for 3–4 days in the refrigerator. Store the lingonberry preserves separately so they stay fresh and do not make the gravy overly sweet. If you expect leftovers, cool and pack the meatballs promptly rather than leaving the skillet on the counter.
To reheat on the stove, put the meatballs and gravy in a covered skillet over low to medium-low heat. Stir gently and add a splash of broth or water if the sauce has thickened; heat until the center of the meatballs reaches 165°F (74°C). You can also microwave an individual portion in a covered microwave-safe dish, stirring the gravy partway through and checking that the food reaches 165°F (74°C). Avoid repeated cycles of cooling and reheating.
For longer storage, freeze the cooled meatballs with their gravy in a freezer-safe container for up to 3 months for best quality. Thaw overnight in the refrigerator, then reheat to 165°F (74°C). Cream-based gravy may look slightly separated after freezing; stir it slowly as it warms. Add a little broth if needed to bring it back to a spoonable consistency.
Frequently Asked Questions
Can I make Swedish meatballs ahead of time?
You can mix and shape the meatballs up to a day ahead. Cover them and refrigerate promptly, then brown and cook them the next day. You can also make the complete dish ahead and refrigerate it for 3–4 days; reheat gently until it reaches 165°F (74°C), loosening the gravy with broth if necessary.
Why are my meatballs tough?
The most common causes are overmixing, packing the balls too tightly, or cooking them too long. Stir the mixture only until combined, roll gently, and use a thermometer to check doneness rather than leaving them in the pan for an arbitrary extra stretch of time. The milk-soaked breadcrumbs also help maintain a tender texture.
Can I bake the meatballs instead of pan-frying?
Yes. Arrange them with space between them on a lightly oiled, rimmed baking sheet and bake at 400°F (204°C), checking after about 15 minutes. Their time will depend on their size and your oven, so use a food thermometer and cook ground meat to 160°F (71°C). The oven will brown them differently, and you can still make the gravy in a skillet.
What can I use instead of lingonberry preserves?
Cranberry preserves or cranberry sauce are easy-to-find alternatives. They tend to be sweeter and may have a softer fruit flavor, while lingonberries are known for their tartness. Red currant jelly is another possible substitute if available. Serve the fruit on the side, and let diners decide how much to add.
Can I make the recipe gluten-free?
Use certified gluten-free breadcrumbs and replace the all-purpose flour with a gluten-free all-purpose blend that works for thickening sauces. Check that the broth and soy sauce are also gluten-free; tamari is one possible soy sauce substitute. The gravy may thicken at a slightly different rate, so whisk in the broth gradually and adjust its consistency at the end.
Related
- Swedish Meatball Recipe with Creamy Sour Cream Gravy
- Low Carb Swedish Meatballs with a Creamy Skillet Gravy
- Vegan Swedish Meatball Recipe 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).