Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) ground beef (85–90% lean)
- 1/2 cup plain dry breadcrumbs
- 1/2 cup whole milk
- 1 large egg
- 1/4 cup finely minced onion, 1 garlic clove
- Salt, black pepper, ground allspice, ground nutmeg
- 5 tbsp unsalted butter (2 tbsp for meatballs, 3 tbsp for gravy)
- 1 tbsp neutral oil
- 3 tbsp all-purpose flour
- 2 cups low-sodium beef broth
- 1/2 cup heavy cream (or 3/4 cup half-and-half)
- 1 tsp Worcestershire sauce, 1 tsp Dijon mustard
- Mashed potatoes or 12 oz egg noodles, plus butter
- Fresh parsley, finely chopped (for garnish, optional)
Do This
- 1. Stir together breadcrumbs and milk; let sit 5 minutes to form a thick paste. Mix in egg, onion, garlic, salt, pepper, allspice, and nutmeg, then gently combine with ground beef.
- 2. Shape into 1 to 1 1/4 inch meatballs (about 20–24). Chill in the fridge while you heat the pan.
- 3. Brown meatballs in 2 tbsp butter and 1 tbsp oil over medium heat, turning often, 8–10 minutes total. Transfer to a plate; they will finish cooking in the sauce.
- 4. In the same pan, melt 3 tbsp butter, scrape up browned bits, then sprinkle in flour. Cook, whisking, 2–3 minutes until golden.
- 5. Gradually whisk in beef broth, then cream, Worcestershire, and Dijon. Simmer 3–4 minutes until slightly thickened; season to taste.
- 6. Return meatballs to the pan, cover, and simmer gently 10–12 minutes, until cooked through and the sauce is creamy and glossy.
- 7. Serve meatballs and gravy over hot mashed potatoes or buttered egg noodles, garnished with parsley.
Why You’ll Love This Recipe
- Classic Swedish-style flavors: warm spices, creamy gravy, and ultra-tender meatballs.
- Family-friendly comfort food that feels special but uses simple, everyday ingredients.
- Flexible serving options: pile over mashed potatoes or swirl into buttered egg noodles.
- Great for make-ahead meals and freezer-friendly for busy weeknights.
Grocery List
- Produce: Yellow onion, garlic, fresh parsley (optional, for garnish), potatoes (if making mashed potatoes).
- Dairy: Whole milk, heavy cream (or half-and-half), unsalted butter, milk for mashed potatoes (optional).
- Pantry: Ground beef, plain dry breadcrumbs, egg, all-purpose flour, beef broth (low-sodium), Worcestershire sauce, Dijon mustard, neutral oil, salt, black pepper, ground allspice, ground nutmeg, egg noodles (if using), lingonberry or cranberry jam (optional, for serving).
Full Ingredients
For the Swedish Meatballs
- 1/2 cup plain dry breadcrumbs
- 1/2 cup whole milk
- 1 large egg
- 1/4 cup very finely minced yellow onion (about 1/4 small onion)
- 1 small garlic clove, minced
- 1 tsp kosher salt (or 3/4 tsp fine sea salt)
- 1/2 tsp freshly ground black pepper
- 1/4 tsp ground allspice
- 1/4 tsp ground nutmeg
- 1 lb (450 g) ground beef, 85–90% lean
- 2 tbsp unsalted butter, for frying
- 1 tbsp neutral oil (such as canola, vegetable, or light olive oil), for frying
For the Creamy Gravy
- 3 tbsp unsalted butter
- 3 tbsp all-purpose flour
- 2 cups low-sodium beef broth
- 1/2 cup heavy cream
(or use 3/4 cup half-and-half for a slightly lighter sauce) - 1 tsp Worcestershire sauce
- 1 tsp Dijon mustard
- 1/2 tsp kosher salt (to taste)
- 1/4 tsp freshly ground black pepper (more to taste)
- Optional: 1/4 tsp soy sauce, for deeper color and extra savoriness
For Serving
- Option 1: Mashed Potatoes
- 2 lb (900 g) Yukon Gold or russet potatoes, peeled and cut into chunks
- 3–4 tbsp unsalted butter
- 1/3–1/2 cup warm milk
- Salt and pepper, to taste
- Option 2: Buttered Egg Noodles
- 12 oz (340 g) wide egg noodles
- 2–3 tbsp unsalted butter
- Salt and pepper, to taste
- 2–3 tbsp chopped fresh parsley, for garnish (optional)
- Lingonberry jam or cranberry sauce, for serving (traditional and optional)

Step-by-Step Instructions
Step 1: Make the breadcrumb mixture (panade)
In a medium mixing bowl, combine the breadcrumbs and milk. Stir until all of the breadcrumbs are evenly moistened. Let this sit for about 5 minutes until the mixture thickens into a paste. This is called a panade and is the secret to tender, juicy meatballs because it keeps the meat from drying out.
After 5 minutes, stir in the egg, minced onion, garlic, salt, black pepper, allspice, and nutmeg. Mix until everything is evenly combined. The mixture should be smooth and loose, without big clumps of breadcrumbs or onion.
Step 2: Mix and shape the meatballs
Add the ground beef to the bowl with the breadcrumb mixture. Using clean hands or a fork, gently mix just until the beef is evenly combined with the seasonings. Avoid overworking the meat, which can make the meatballs dense.
With lightly oiled or damp hands, roll the mixture into meatballs about 1 to 1 1/4 inches in diameter (roughly 1 heaping tablespoon each). You should get about 20–24 meatballs. Place the shaped meatballs on a plate or tray and refrigerate them for 10–15 minutes while you prepare the pan. Chilling helps them hold their shape during browning.
Step 3: Brown the meatballs
In a large, heavy skillet (10–12 inch), heat the 2 tbsp butter and 1 tbsp oil over medium heat until the butter is melted and foamy but not browned.
Add the meatballs in a single layer, leaving a little space between each. If your pan is smaller, brown them in two batches rather than crowding the pan. Cook, turning every couple of minutes, until nicely browned on all sides, about 8–10 minutes total. They do not need to be fully cooked through yet; they will finish cooking in the gravy.
Transfer the browned meatballs to a clean plate and leave all the delicious browned bits (fond) in the pan. Those will flavor the gravy.
Step 4: Make the roux for the gravy
Reduce the heat to medium-low. In the same pan, melt the 3 tbsp butter, scraping with a spatula or wooden spoon to loosen any browned bits stuck to the bottom.
Sprinkle in the flour and whisk or stir constantly to combine it with the butter into a smooth paste (roux). Cook this mixture, stirring frequently, for 2–3 minutes until it turns a light golden brown and smells slightly nutty. This step removes the raw flour taste and builds flavor for the gravy.
Step 5: Build the creamy gravy
While whisking continuously, slowly pour in the beef broth, a little at a time, breaking up any lumps as you go. Once all the broth is incorporated and the mixture is smooth, stir in the heavy cream (or half-and-half), Worcestershire sauce, and Dijon mustard.
Increase the heat to medium and bring the gravy to a gentle simmer. Cook for 3–4 minutes, stirring often, until the sauce has thickened slightly and coats the back of a spoon. If using, add the soy sauce for color and extra savoriness.
Taste the gravy and season with salt and pepper as needed. Remember the meatballs are seasoned too, so do not over-salt at this stage.
Step 6: Simmer the meatballs in the gravy
Carefully return the browned meatballs (and any accumulated juices on the plate) to the pan, nestling them into the gravy in a single layer. Spoon a bit of gravy over the tops.
Reduce the heat to low, cover the pan partially with a lid, and let the meatballs gently simmer for 10–12 minutes, turning once or twice, until they are cooked through.
The internal temperature of the meatballs should reach at least 160°F (71°C). The gravy should now be velvety, thick enough to coat a spoon, and clinging to the meatballs. If it seems too thick, stir in a splash of broth or water; if too thin, let it simmer uncovered a few more minutes.
Step 7: Prepare your side and serve
While the meatballs simmer, prepare your base:
- For mashed potatoes: Boil the peeled potato chunks in salted water until very tender, about 15–20 minutes. Drain well, then mash with 3–4 tbsp butter and 1/3–1/2 cup warm milk. Season to taste with salt and pepper.
- For buttered egg noodles: Cook the egg noodles in salted boiling water according to package directions (usually 6–8 minutes) until just tender. Drain, then toss with 2–3 tbsp butter, plus salt and pepper to taste.
To serve, mound mashed potatoes or noodles on warm plates. Spoon generous portions of meatballs and gravy over the top. Garnish with chopped fresh parsley and serve with a spoonful of lingonberry jam or cranberry sauce</strong) on the side, if you like that classic sweet-tart contrast.
Pro Tips
- Do not skip the breadcrumb-milk panade. This moisture-rich mixture keeps the meatballs soft and tender instead of dense or bouncy.
- Use gentle hands. Overmixing or packing the meat too tightly when shaping can toughen the texture. Mix just until combined and roll lightly.
- Brown in batches if needed. Crowding the pan steams the meatballs instead of browning them. Proper browning adds deep flavor to both the meat and gravy.
- Adjust sauce thickness at the end. If the gravy gets too thick as it simmers, whisk in a tablespoon or two of broth, water, or cream until it reaches your ideal consistency.
- Keep the heat gentle once the cream is added. A low simmer prevents the sauce from breaking and keeps it silky and smooth.
Variations
- Beef and pork blend: For even richer flavor, use 1/2 lb ground beef and 1/2 lb ground pork instead of all beef. Keep all other ingredients the same.
- Mushroom gravy twist: After browning the meatballs, sauté 1–1 1/2 cups sliced mushrooms in the pan before making the roux. Their juices and flavor will infuse the sauce.
- Gluten-free version: Use gluten-free breadcrumbs for the meatballs and replace the flour in the gravy with a 1:1 gluten-free flour blend or a slurry of 1 1/2 tbsp cornstarch mixed with 3 tbsp cold water (stirred into the simmering broth and cream).
Storage & Make-Ahead
Cool leftover meatballs and gravy to room temperature, then transfer to an airtight container. Refrigerate for up to 3–4 days. Reheat gently in a covered saucepan over low heat, adding a splash of broth or milk if the sauce has thickened too much.
For longer storage, freeze the meatballs in their gravy in a freezer-safe container or heavy-duty bag for up to 2–3 months. Thaw overnight in the refrigerator before reheating.
You can also make the meatballs ahead: shape and brown them, then cool and refrigerate up to 24 hours (or freeze). When ready to serve, prepare the gravy and simmer the pre-browned meatballs in the sauce until heated through and fully cooked.
Nutrition (per serving)
Estimated for 1/4 of the recipe (meatballs and gravy only, without potatoes or noodles): about 480–520 calories, 28–32 g fat, 20–24 g carbohydrates, 30–34 g protein, and 2–3 g fiber. Serving over mashed potatoes or egg noodles will increase calories and carbohydrates. Actual values will vary based on specific ingredients and portion sizes.
