Swedish-style meatballs are small, gently spiced beef-and-pork meatballs served with a creamy pan gravy, often alongside potatoes and tart lingonberry preserves. This skillet version uses a milk-soaked breadcrumb mixture for tender meatballs, while browning and simmering them in the same pan builds a savory sauce with little waste.
Ingredients
- 1 lb (454 g) ground beef, preferably 80–85% lean
- ½ lb (227 g) ground pork
- ½ cup (55 g) plain fine breadcrumbs
- ⅓ cup (80 ml) whole milk
- ½ cup (about 75 g) finely minced yellow onion
- 1 large egg (about 50 g without the shell)
- 1 tsp (5 g) fine salt
- ¼ tsp (1 g) freshly ground black pepper
- ¼ tsp (about 0.5 g) ground allspice
- ⅛ tsp (about 0.25 g) freshly grated nutmeg
- 1 tbsp (15 ml) neutral cooking oil, such as canola oil
- 3 tbsp (42 g) unsalted butter, divided
- 2 tbsp (16 g) all-purpose flour
- 1½ cups (355 ml) low-sodium beef broth
- ¾ cup (180 ml) heavy cream
- 1 tsp (5 ml) Worcestershire sauce
- 1 tsp (5 ml) Dijon mustard
- Salt and black pepper, as needed to finish the gravy
- Lingonberry preserves, for serving (optional)
Instructions
- Soften the breadcrumbs. In a large bowl, stir the breadcrumbs and milk together. Leave them for 2 minutes while you mince the onion and measure the spices. The crumbs should absorb most of the milk and become a soft paste; this helps keep the meatballs moist without making them taste bready.
- Mix and shape the meatballs. Add the beef, pork, onion, egg, salt, pepper, allspice, and nutmeg to the bowl. Mix gently with clean hands or a fork just until evenly combined. Avoid squeezing or kneading the mixture, which can make the cooked meatballs firm. Shape it into about 20 balls, each roughly 1½ inches (4 cm) wide, and set them on a plate. If the mixture feels sticky, dampen your hands with cool water rather than adding extra breadcrumbs.
- Brown the meatballs. Set a large, heavy skillet over medium heat and let it warm for about 2 minutes. Add the oil and 1 tablespoon (14 g) of the butter. When the butter is melted and foaming, arrange the meatballs in a single layer with room between them; brown in two batches if needed. Turn them every minute or two, cooking for about 8 minutes total until browned on several sides. They do not need to be fully cooked through yet. Transfer them to a clean plate. If the pan has very dark, burnt bits, carefully wipe those out; golden browned bits are useful for the gravy.
- Make the gravy base. Reduce the heat to medium-low. Add the remaining 2 tablespoons (28 g) butter to the skillet. Once melted, whisk in the flour and cook for 1 minute, stirring continuously so it forms a smooth paste without darkening much. Slowly pour in the beef broth while whisking, scraping up the browned bits from the bottom of the pan. Add the cream, Worcestershire sauce, and Dijon mustard, then bring the sauce to a gentle simmer. Do not let it boil hard, because vigorous boiling can make a cream sauce separate.
- Finish cooking in the sauce. Return the meatballs and any juices on the plate to the skillet. Turn them gently to coat, cover the pan, and simmer over low heat for 10 minutes, turning the meatballs once halfway through. Check the center of a larger meatball with a food thermometer: ground beef and pork must reach the USDA FSIS safe minimum internal temperature of 160°F (71°C). If any are below that temperature, continue simmering and check again after a few minutes.
- Season and serve. Uncover the skillet and simmer for about 2 minutes, stirring the gravy gently, until it coats the meatballs and a spoon. Taste the sauce and add salt or pepper as needed. If it becomes thicker than you like, stir in broth a tablespoon at a time; if it is thin, simmer uncovered briefly. Serve hot with the gravy spooned over the meatballs.
Tips
- Mix lightly for a tender texture. Beef and pork are easy to overwork, especially once the egg and soaked crumbs are added. Stop mixing as soon as the ingredients are distributed. A few visible flecks of onion or spice are fine; the mixture does not need to look perfectly smooth.
- Use a pan that gives the meatballs room. Crowding traps steam and prevents good browning. If your skillet is not large enough for a single uncrowded layer, brown in batches and return all the meatballs for the sauce step. Add a little more oil only if the pan looks dry.
- Adjust the sauce gradually. Broth brands vary in saltiness, and the Worcestershire sauce adds savoriness, so taste before adding more salt. For a thinner gravy, add broth a little at a time. For a thicker gravy, let it gently reduce rather than adding a large amount of extra flour, which can taste pasty.
- Choose substitutes with the texture in mind. Plain panko works in place of fine breadcrumbs, but its larger flakes make a slightly less uniform meatball; measure it by weight if possible. Half-and-half can replace heavy cream for a lighter, thinner sauce. For a dairy-free version, use unsweetened oat milk in the meat mixture and a suitable unsweetened cooking cream in the gravy, knowing the flavor and richness will differ.
Serving Suggestions
For a classic-style plate, serve the meatballs and plenty of gravy with boiled or mashed potatoes. Their mild, soft texture is a good match for the warm spices and creamy sauce, and potatoes make it easy to catch every bit of gravy. Buttered egg noodles are another practical option, especially for a weeknight meal; broad noodles hold the sauce well, while rice works if that is what you have on hand.
A spoonful of lingonberry preserves adds a tart, fruity contrast to the rich gravy. Lingonberries can be difficult to find in some grocery stores, so cranberry preserves or cranberry sauce are useful substitutes. They tend to be sweeter and less sharply tart, so serve a small amount on the side rather than stirring it into the sauce. Quick-pickled cucumber, steamed green beans, or a simple cabbage salad can add a crisp, fresh element to the plate.
Variations
Swedish-style meatballs have regional and family variations, so the balance of spices, meat, and sauce is not identical in every version. This recipe uses a modest amount of allspice and nutmeg for a warm, rounded flavor. For a more gently seasoned batch, reduce each spice by half; for a more pronounced spice note, increase the allspice slightly, tasting the finished dish before changing the salt.
You can use all beef if you do not eat pork. The result will usually be a little leaner and less tender, so choose beef that is not too lean and avoid overmixing. For a pork-forward flavor, use equal amounts of beef and pork while keeping the total meat weight the same. Ground turkey can also be used, but it has a different flavor and texture; choose ground turkey with some fat, handle it gently, and use the same thermometer check for ground meat.
For a deeper gravy, replace up to ½ cup (120 ml) of the broth with additional broth and simmer it a little longer before returning the meatballs. For a sharper finish, add a small squeeze of lemon juice at the table rather than increasing the mustard in the pan. A pinch of white pepper can stand in for black pepper if you prefer a subtler pepper flavor. These changes keep the method straightforward while letting you adapt the seasoning to what is available.
Storage and Reheating
Refrigerate cooked meatballs and gravy within 2 hours of cooking, in a covered container. They keep for 3–4 days in the refrigerator. Store them with the sauce so the meat stays moist. For longer storage, freeze them in a freezer-safe container for up to 3 months for best quality. Thaw overnight in the refrigerator before reheating; the cream sauce may look slightly separated after freezing, but gentle stirring as it warms usually brings it back together.
Reheat a portion in a covered saucepan over low heat, stirring gently and adding a splash of broth or cream if the gravy has thickened. You can also microwave the meatballs in a covered microwave-safe dish, stirring partway through so they heat evenly. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer. Avoid repeated cycles of cooling and reheating; warm only the amount you plan to eat.
Frequently Asked Questions
Can I make the meatballs ahead?
Yes. Shape the uncooked meatballs, cover them, and refrigerate for up to 1 day before cooking. Keep them chilled until they go into the hot skillet, and cook them fully to 160°F (71°C). You can also cook the complete dish ahead and refrigerate it for up to 3–4 days, then reheat to 165°F (74°C).
Why are my meatballs tough?
The most common causes are overmixing, packing the balls too tightly, or cooking them too aggressively. Combine the mixture only until it comes together and roll the portions gently. Keep the sauce at a quiet simmer rather than a rolling boil, and use a thermometer to avoid cooking well beyond the safe temperature.
Can I bake the meatballs instead of browning them in a skillet?
Yes. Arrange them with space between each one on a lightly oiled, rimmed baking sheet and bake at 400°F (204°C) until browned and cooked through, checking for 160°F (71°C) in the center. Timing depends on their size and your oven, so use the thermometer rather than relying on color alone. Make the gravy in a skillet, then add the cooked meatballs and their juices to it.
What can I use instead of lingonberry preserves?
Cranberry preserves or whole-berry cranberry sauce are the easiest substitutes. They provide a similar tart-sweet contrast, although they are usually sweeter and may have a stronger berry flavor. Red currant jelly is another option if available. The preserves are a serving accompaniment, not a required ingredient in the meatballs or gravy.
Can I make the gravy without cream?
You can use whole milk, but the gravy will be thinner and less rich. Stir it in gently and keep the sauce below a hard boil. For a dairy-free alternative, use an unsweetened cooking cream made for sauces; different products vary in thickness, so adjust with broth at the end. Avoid sweetened plant milks, which can make the savory gravy taste unexpectedly sweet.
Related
- Chinese Pork Belly Stew with Soy, Ginger, and Star Anise
- Portuguese Braised Beef Stew with Red Wine and Chouriço
- Red Thai Soup with Chicken and Coconut Milk
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).