My Swedish meatballs are tender pork and beef meatballs made soft with milk-soaked breadcrumbs and a pinch of allspice, then pan-fried until golden. This version is served the Swedish way, over silky mashed potatoes with a creamy brown gravy, lingonberry jam and pickled cucumbers. I hope you enjoy!

I recently came back from a 9-day trip around Northern Europe, and Swedish meatballs were one of the dishes I became slightly obsessed with!!! They're even better in their home country, smothered in gräddsås (a creamy gravy) with lingonberry jam on the side, but this is my take on them based on my travels and boots on the ground food research.
If you're looking for more meatball recipe inspiration, the same trip inspired my creamy mushroom meatball pasta. For another saucy dinner piled over mashed potatoes, try my creamy Dijon mustard chicken, my easy mushroom bourguignon or my Korean-style chicken stew.
Jump to:
What are Swedish meatballs?
Swedish meatballs, or köttbullar, are small, soft meatballs, usually made from ground beef and pork. What makes them Swedish is breadcrumbs soaked in milk and a warm hint of allspice. They're browned in a skillet and served with gräddsås (literally "cream sauce"), a brown gravy that Swedish cooks often color with a splash of soy sauce.
Compared with Italian meatballs, they're smaller and softer, spiced rather than herby or cheesy, and served with cream gravy instead of tomato sauce. Swedes happily argue over the details, like raw or fried onion and thick or thin gravy, but the milk-soaked breadcrumbs are the part they treat as essential.
Ingredients for Swedish meatballs
Here's what'll you need to make this recipe.
- Ground pork and beef: The beef brings flavor and the pork brings fat, which keeps the meatballs juicy. Buy ½ lb of each if your store doesn't sell them mixed, and skip anything labeled extra-lean.
- Breadcrumbs and milk: These soak into a paste before the meat goes in. Plain dried breadcrumbs or panko both work.
- Allspice: This is the signature Swedish meatball spice. It tastes like cloves, cinnamon and nutmeg rolled into one, and ¼ teaspoon adds warmth without sweetness. Perfect scents for fall!
- White onion: Grate it on a box grater so it melts into the mixture and adds moisture. Chopped onion pokes out of the meatballs.
- Potatoes: A floury potato like russet makes the creamiest mash. Avoid small waxy potatoes, which won't blend up as silky.
- Gravy browning or dark soy sauce: Half a teaspoon gives the gravy its deep caramel color. In the US, look for Kitchen Bouquet or Gravy Master. Dark soy sauce does the same job, and soy is a very Swedish way to color gravy anyway.
- Lingonberry jam: Lingonberries are tart little Nordic berries, and the sweet-sharp jam is what balances the rich gravy. The jar in my photos is Felix, a Swedish brand, and IKEA's food market sells its own. If you can't find it anywhere, feel free to go for cranberry jam.
- Pickled cucumbers: Their sharp crunch cuts through all that cream. Swedes often serve pressgurka, a quick sweet-and-sour cucumber pickle, but jarred pickle slices work well.
For the full ingredient list with measurements, scroll down to the recipe card.
How to make Swedish meatballs (step-by-step photos)
Step 1. Soak the breadcrumbs
Let's start with the meatballs. In a large bowl, stir together the breadcrumbs and milk with a big pinch of salt, a grind of black pepper and the allspice. Leave it for a few minutes, until the crumbs soak up the milk and turn into a rough, bready paste.

Step 2. Mix and roll the meatballs
Add the ground pork and beef, grated onion and egg to the bowl. Mix until everything is evenly combined, then stop. Wet your hands and roll the mixture into about 20 meatballs, each just smaller than a golf ball, and set them aside.

Step 3. Boil the potatoes
Next up, cut the potatoes into even chunks (mine went in skin-on but feel free to peel them if you'd like) and cover them with room-temperature water in a saucepan. Add salt, bring to a boil, then simmer for 10 to 15 minutes, until a fork slides straight through. Drain and set aside.

Step 4. Fry the meatballs
While the potatoes cook, heat 1 tablespoon of vegetable oil in a large non-stick skillet over medium heat. Fry the meatballs for about 3 minutes per side, until deep golden all over. Then lower the heat slightly and let them cook through gently while you make the gravy and mash.

Step 5. Make the gravy
Melt the butter in a saucepan over medium heat and whisk in the flour until it forms a paste. Gradually whisk in the cream, beef stock, onion powder and garlic powder, then add the brown sugar, bay leaf and browning or soy sauce. Simmer until it's as thick as you like, then season to taste.

Step 6. Mash the potatoes
Add the milk and butter to the drained potatoes and season with salt and black pepper. Blend with a hand blender, or use a potato masher, until the mashed potatoes are smooth and creamy.

Step 7. Build the bowls
Divide the mashed potatoes between four bowls and top with the meatballs. Add a spoonful of lingonberry jam and a few pickled cucumber slices, then ladle over the gravy (fish out the bay leaf first) and finish with fresh dill. Enjoy, my friends!
Tips for the best Swedish meatballs
- Give the breadcrumbs time to soak. Wait until the milk is fully absorbed and you've got a paste. Dry crumbs stirred straight into the meat won't keep the meatballs anywhere near as soft.
- Mix lightly. Stop as soon as everything is evenly combined, because overworked ground meat turns dense. Damp hands stop the mixture sticking to your palms while you roll.
- Leave the meatballs alone in the pan. Let each side turn properly golden before you move it. Turn the meatballs too early and they stick, tear and lose that crust.
- Taste the gravy before you salt it. Beef stock and soy sauce are both salty, so season at the end, once the gravy has thickened and the flavors have concentrated.

Substitutions and variations
- Swap the meat: 100% beef makes a firmer, less juicy meatball, and all pork makes a softer, richer one. Even Swedes vary it: southern cooks traditionally like a fattier mix, with less pork going in the further north you go. Ground turkey or chicken work too, but they're leaner, so don't overcook them.
- Make it gluten-free: Use gluten-free breadcrumbs, a gluten-free flour blend and tamari instead of dark soy sauce, and check the labels on your stock and browning sauce.
- Lighten the gravy: Half-and-half can replace the heavy cream, since the flour does the thickening.
- Swap the lingonberry jam: Whole-berry cranberry sauce is the closest match, with the same tart-sweet bite.
- No allspice: A small pinch of nutmeg adds a similar warmth, though it won't taste quite as classic.
Storage, freezing and reheating
Leftover meatballs and gravy keep in an airtight container in the fridge for up to 3 days, with the mashed potatoes stored separately. The gravy thickens as it cools, so reheat everything over low heat with a splash of stock or milk, until the sauce loosens and the meatballs are hot all the way through.
The meatballs freeze well. Roll them, freeze them on a tray until firm, then bag them for up to 3 months and thaw overnight in the fridge before frying. Cream gravies can separate after freezing, so make the gravy fresh. To get ahead, roll the meatballs in the morning and keep them covered in the fridge until dinner.
Swedish meatballs FAQs
The classic Swedish plate is exactly what's in this recipe: meatballs, potatoes, creamy gravy, lingonberry jam and pickled cucumbers. Boiled potatoes are just as traditional as mashed in Sweden. Many American recipes serve them over buttered egg noodles instead, and steamed green beans or peas add some color.
They're not a copycat, but they share the same classic Swedish vibe. IKEA serves its meatballs with cream sauce, mashed potatoes and lingonberry jam, so if that's your benchmark, this will feel familiar. The difference is that everything here is made from scratch.
Cut one in half: there should be no pink in the center. For certainty, use an instant-read thermometer, since ground pork and beef are cooked at 160°F (71°C). If they need longer, give them a few more minutes over low heat rather than turning it up, which only burns the outside.
Simmer it a few minutes longer. The butter and flour paste keeps thickening the gravy as it reduces, and it tightens again as it cools. If it goes too thick, whisk in a splash of stock. If you get lumps, whisk intensely or pour it through a sieve, then add the liquid more slowly next time.
Yes. Cook frozen or chilled store-bought meatballs following the package directions until they're hot all the way through, then serve them with this gravy and mash. You'll probably miss the allspice from the homemade mix, so whisk a small pinch into the gravy.
More meatball recipes
If you're a meatball lover like me then you've got to try Zucchini meatballs with boursin pasta or my Thai chicken meatballs.
For even more really popular options, why not make my:
- Greek meatballs
- Teriyaki meatballs with spicy miso sauce
- Pesto pasta with meatballs
- Air fryer turkey meatballs
- Air fryer chicken meatballs
If you tried this Swedish Meatball recipe or any other recipe on my website, please leave a 🌟 star rating and let me know how it went in the 📝 comments below. Thank you!

Swedish Meatballs with Gravy
Ingredients
For the meatballs
- ⅓ cup milk 80ml
- ⅓ cup plain dried breadcrumbs 40g
- ¼ teaspoon ground allspice
- 1 lb ground meat, half pork and half beef 500g
- 1 white onion grated
- 1 egg
- Salt and black pepper
- 1 tablespoon vegetable oil for frying
For the mashed potatoes
- 1 ¾ lb potatoes, such as russet 800g
- 1 teaspoon fine sea salt for the cooking water
- ⅔ cup milk 160ml
- 1 tablespoon butter
- Salt and black pepper
For the gravy
- 2 tablespoons butter
- 2 tablespoons all-purpose flour
- ¼ cup heavy cream 50ml
- 1 ¼ cups beef stock 300ml
- ¼ teaspoon garlic powder
- ¼ teaspoon onion powder
- ¼ teaspoon brown sugar
- 1 bay leaf
- ½ teaspoon gravy browning such as Kitchen Bouquet or dark soy sauce
- Salt and black pepper
To serve
- Lingonberry jam or whole-berry cranberry sauce
- Pickled cucumber slices
- Fresh dill
Instructions
- In a large bowl, stir together the breadcrumbs and milk. Season with a big pinch of salt, a grind of black pepper and the allspice. Leave for a few minutes, until the breadcrumbs have soaked up the milk and formed a rough paste.
- Add the ground pork and beef, grated onion and egg. Mix until evenly combined. With wet hands, roll into about 20 meatballs, each just smaller than a golf ball. Set aside.
- Cut the potatoes into even chunks and place them in a saucepan. Cover with room-temperature water and add the fine sea salt. Bring to a boil, then reduce the heat and simmer for 10 to 15 minutes, until a fork slides through easily. Drain and set aside.
- While the potatoes cook, heat the vegetable oil in a large non-stick skillet over medium heat. Fry the meatballs for about 3 minutes per side, until golden brown all over. Reduce the heat slightly and let them cook gently while you make the gravy and mash, until there's no pink in the center (160°F / 71°C).
- For the gravy, melt the butter in a saucepan over medium heat. Whisk in the flour until it forms a paste. Gradually whisk in the cream, beef stock, onion powder and garlic powder. Add the brown sugar, bay leaf and browning or dark soy sauce, and simmer until thickened to your liking. Season with salt and pepper to your liking and remove the bay leaf.
- Add the milk and butter to the drained potatoes and season with salt and black pepper. Blend with a hand blender, or mash with a potato masher, until smooth.
- Divide the mashed potatoes between 4 bowls. Top with the meatballs, lingonberry jam, pickled cucumbers and gravy, then finish with fresh dill.
Notes
- Storage: Keep leftover meatballs and gravy in an airtight container in the fridge for up to 3 days, with the mashed potatoes stored separately. Reheat over low heat with a splash of stock or milk until piping hot.
- Freezing: Freeze uncooked, rolled meatballs on a tray until firm, then transfer to a freezer bag for up to 3 months. Thaw overnight in the fridge before frying. Make the gravy fresh.
- Browning: In the US, use Kitchen Bouquet or Gravy Master. Dark soy sauce is an easy swap.
- Gluten-free: Use gluten-free breadcrumbs and flour, and tamari instead of dark soy sauce.
Nutrition
Always see my recipes in Google
One tap adds Myriad Recipes to your preferred sources, so my recipes show up more often when you're hunting for dinner ideas.









Leave a Reply