These Classic Swedish Meatballs are the real deal - tender, flavorful, and smothered in the creamiest gravy! Scandinavian food has always felt like home to me, thanks to my Nordic heritage, and my time as an exchange student in Norway made me fall even deeper in love with the cuisine. We're making these the traditional way with a blend of beef and pork, warm spices like allspice and nutmeg, and a few traditional techniques for that melt-in-your-mouth texture. These are the small, bite-sized meatballs you'd find on a Swedish table or at IKEA (but so much better!) 😉

Save This Recipe! 💌
Better Than IKEA? We Think So! 😉
Look, we love a furniture store meatball run as much as anyone. But making them at home is such a treat, a whole different experience! These are basically Sweden's national dish 🇸🇪- enjoyed year-round as comfort food, at midsommar, and on the julbord (🎄Christmas buffet) following warm glögg! We add a hint of warm cloves for that cozy, traditional flavor, which is especially popular at Christmas! Really, any excuse works. 😉
If you've searched for Swedish meatball recipes before, you know there are approximately one million out there. We went down the rabbit hole on this one - researching, testing, and figuring out what actually makes these special. Some of what's out there is… questionable. 😅
A lot of recipes look bland, skip traditional techniques, use ingredients that are just plain wrong (oregano does NOT belong in Swedish meatballs! 😂), or the meatballs are way too big with a thick, gloopy, American-style gravy.
My Finnish grandmother is from Michigan's Upper Peninsula, and perfecting classic Nordic comfort food recipes like this one has been such a meaningful way to connect with my heritage. One of my favorite things about being an exchange student in Norway was discovering all the cozy, comforting food - and learning how to make it myself! Swedish meatballs are famous worldwide, but every Nordic country has its own version, like Norwegian kjøttkaker (meatballs)!
After a lot of testing and a lot of meatball dinners - rough life, right? 😂 - we landed on a version we're really proud of. We also went all in on the Swedish dinner spread, so we've got Swedish mashed potatoes, stirred lingonberries, and Nordic pickled cucumbers if you want to do the whole authentic spread!
🧅Ingredients
Traditional Swedish meatballs use a distinct blend of warming spices, a blend of pork and beef, onion cooked in butter, and all butter preparation for an authentic (and delicious!) flavor.

How to Make Authentic Swedish Meatballs 🇸🇪
These meatballs come together in a few simple stages - prep the mixture, shape and chill, brown them up, and build that incredible gravy right in the same pan. Here's how to make them:

- Step 1: Grate your onion using a box grater. 🧅Why grated? This lets the onion basically melt into the meat mixture, so you get all the flavor without biting into chunks. Melt a tablespoon of butter in a small skillet over medium heat. Add the grated onion and a pinch of salt.

- Step 2: Cook until softened and fragrant, about 2-3 minutes. Set aside to cool.
🧈 Why butter? Traditional Swedish meatballs are cooked entirely in butter - no oil needed! It adds richness, and authentic flavor!
🧈We use Plugrà European-Style Unsalted Butter, our official butter partner! The 82% butterfat creates the richest, most flavorful cream sauce and perfectly golden meatballs.
🧅 Onion notes: In Sweden, some cooks grate the onion raw directly into the mixture, while others dice and fry it in butter first. We do both - grating for maximum flavor distribution, then cooking in butter to mellow the sharpness and add extra richness. Either method is traditional and works great!

- Step 3: Meanwhile, in a large bowl, whisk together the eggs and heavy cream. Once the onions have cooled, add them to the egg and cream mixture and whisk to combine.

- Step 4: Add the torn bread chunks to the bowl.
💡 Make sure those onions are cooled! Hot onions + raw eggs = scrambled eggs in your meatball mix. Not what we're going for! 😅

- Step 5: Stir to coat.

- Let the mixture soak for about 10 minutes until the bread is soft and mushy. This is known as your panade - the secret to ultra-tender meatballs! 😉
🍞 About the panade: Soaking bread in liquid (called a panade) is the key to ultra-tender meatballs. We use heavy cream instead of milk for an extra-rich, special-occasion version - a technique found in traditional Swedish smörgåsbord recipes! 😉That said, milk works just fine for everyday meatballs, and breadcrumbs can definitely be used in place of bread pieces; both are traditional and work great!

- Step 6: In a large bowl, add the ground beef, ground pork, salt, pepper, allspice, nutmeg, and cloves. Gently mix to just combine - we will continue mixing in a second!
🎄 About those cloves: Ground cloves (kryddnejlika in Swedish) are traditional in Swedish meatballs and part of the classic Swedish spice blend. They're especially popular in julköttbullar, aka Christmas meatballs - the version served on the julbord (Christmas buffet)! They add a subtle warmth that makes these extra cozy. 🥰Feel free to leave the cloves out if you prefer, but we love what they bring to the party.
🧂Salt. We use about 1 teaspoon of kosher salt per pound of meat! If using Morton's or table salt, cut this amount in half since they're saltier by volume.

- Step 7: Add the bread, eggs, and cream mixture to the bowl.

- Mix until everything is just combined.
🚫Don't overmix! Mix until the ingredients are evenly distributed, but overworking the meat will make your meatballs tough and dense. Gentle hands!
💡 Pro tip: Before you roll all your meatballs, pinch off a small piece of the mixture and cook it in a skillet, then taste it! This is your chance to adjust the seasoning before you're committed. It's way easier to add more salt or spices now than after they're all rolled and chilling.

- Step 8: Using a small cookie scoop or tablespoon measure, portion out the meat mixture into 1-ounce balls (about 1 inch in diameter).
📏 Size matters! Traditional Swedish meatballs are small - way smaller than Italian meatballs! This isn't just for looks; the smaller size means more surface area for browning and more of that delicious crispy exterior in every bite. 🤤

- Step 9: Roll each portion between your palms until smooth.

- Step 10: Place the rolled meatballs on a baking sheet or plate and refrigerate for at least 15-20 minutes (or up to overnight).
💡 Pro tip: Wet your hands slightly to keep the meat from sticking as you roll!
❄️ Why chill? Chilling firms up the fat in the meat, which helps the meatballs hold their shape when they hit the hot pan. Skip this step, and they're more likely to fall apart or flatten out.

- Step 11: Melt butter in a large skillet over medium-high heat. Once the butter is foaming and hot, add the meatballs in a single layer, leaving space between each one.
Let them cook undisturbed for about 2-3 minutes until the bottoms are deeply golden brown, then gently turn them and continue cooking, turning occasionally, until browned all over and almost cooked through, about 8-10 minutes total. We intentionally undercook them slightly here so they stay tender when they finish in the gravy!
🚫 Don't overcrowd the pan! If you crowd the meatballs, they'll steam instead of sear, and you won't get that gorgeous golden crust. Work in batches if needed - it's worth it!

- Step 12: Transfer the browned meatballs to a plate and set aside. Don't wipe out the pan! All those gorgeous browned bits (called fond) are going straight into the gravy! 🤤

- Step 13: Reduce the heat to medium. Check your pan drippings - you want about 4 tablespoons of fat. Add butter if needed to reach that amount, or drain off any excess fat. Once melted, sprinkle in the flour.

- Whisk constantly for about 2-3 minutes until it turns a light golden color, and the raw flour scent fades.
🧈 Butter matters: This gravy is all butter - no oil - which is the traditional Swedish way. We use Plugrá European-Style Butter, the official butter partner for our blog. With 82% butterfat (compared to 80% in standard American butter), it creates an even richer, silkier gravy. You'll taste the difference!

- Step 14: Slowly pour in the beef broth while whisking constantly, scraping up all those delicious browned bits from the bottom of the pan. This is where all that flavor lives!

- Step 15: Add in the heavy cream, Worcestershire sauce, and Dijon mustard.
🍶 Why Worcestershire? Soy sauce actually is traditional in Swedish meatball gravy, but we love Worcestershire for a similar umami depth with a bit more tang. Feel free to swap in soy if you prefer!

- Step 16: Whisk and simmer the gravy.

- Let the gravy simmer for another 3-5 minutes until it thickens enough to coat the back of a spoon. Season with salt and pepper to taste.
🥄 Our gravy is thinner than most American versions! In Sweden, opinions are split on gravy thickness, and for smörgåsbord the gravy is often skipped entirely so the meatballs can shine. We prefer a thinner, silkier, pourable sauce that coats rather than smothers - it lets the meatballs be the star and soaks beautifully into the mashed potatoes. If you like it thicker, cut the amount of beef broth you add in half at the start, then add more as needed. You can also simmer your gravy longer for a thicker consistency!

- Step 17: Return the meatballs to the pan and gently spoon the gravy over them. Let everything simmer together for another 5-8 minutes so the meatballs can finish cooking and soak up all that creamy goodness.

- Sprinkle with fresh parsley.
🌡️ Check the temp: Use an instant-read thermometer to make sure they've reached 160°F internally. Finishing the meatballs in the gravy (instead of fully cooking them in the skillet) keeps them extra tender and juicy!
Serve your Swedish meatballs hot over Swedish mashed potatoes or brown butter mashed rutabaga with stirred lingonberries (or our cooked lingonberry sauce) and pickled cucumbers on the side. Spoon extra gravy over everything. There's no such thing as too much! 🤤
Smaklig måltid! Or, "enjoy your meal"!😉 🇸🇪

For a full Swedish fika spread, finish with Swedish cardamom buns (kardemummabullar) or Swedish almond cake (toscakaka) for dessert!
🌟Leave a Review!
If you make this recipe, we'd love to hear from you! Leave a comment below with your rating for the recipe. Share with us by tagging us on Instagram! We love seeing your creations! 📸
📖 Recipe

Classic Swedish Meatballs with Creamy Gravy (Köttbullar)
Equipment
- instant read thermometer optional, but helpful for ensuring the meatballs are cooked through!
- box grater
Ingredients
Onion
- 1 medium yellow onion grated
- 2 tablespoons unsalted butter
- ⅛ teaspoon kosher salt
Meatballs
- 2 large eggs
- ¼ cup heavy cream
- 4 slices white bread stale, about 115g, torn or cut into small pieces (for the panade)
- 1 pound ground beef (85% lean) 454g
- 1 pound ground pork 454g
- 2½ teaspoons kosher salt
- ½ teaspoon black pepper
- ¾ teaspoon ground allspice
- ½ teaspoon ground nutmeg
- ⅛ teaspoon ground cloves optional, traditional for Christmas
- 4 tablespoons unsalted butter for browning
Gravy
- 3 tablespoons reserved pan drippings
- 2 tablespoons unsalted butter
- 5 tablespoons all-purpose flour 40g
- 4 cups beef broth
- 1 cup heavy cream
- 2 tablespoons Worcestershire sauce
- 1 tablespoon Dijon mustard
- Fresh parsley for garnish
Instructions
Onion:
- Grate onion on a box grater. Melt butter in a small skillet over medium heat. Add grated onion and a pinch of salt. Cook until softened, 2-3 minutes. Set aside to cool.1 medium yellow onion, 2 tablespoons unsalted butter, ⅛ teaspoon kosher salt
Meatballs:
- In a large bowl, whisk together eggs and heavy cream. Add cooled onion mixture and whisk to combine.2 large eggs, ¼ cup heavy cream
- Add torn bread pieces to the bowl. Let soak for 10 minutes.4 slices white bread
- In a large bowl, add ground beef, ground pork, salt, pepper, allspice, nutmeg, and cloves (if using). Mix with your hands just until combined - don't overmix.1 pound ground beef (85% lean), 1 pound ground pork, 2½ teaspoons kosher salt, ½ teaspoon black pepper, ¾ teaspoon ground allspice, ½ teaspoon ground nutmeg, ⅛ teaspoon ground cloves
- Add the soaked bread mixture (panade) to the meat. Mix with your hands just until combined. Don't overmix.
- Portion into 1-ounce balls (about 1 inch) and roll between your palms. Place on a baking sheet and refrigerate for at least 15-20 minutes (or up to overnight). You should have roughly 40 meatballs.
- Melt butter in a large skillet over medium heat. Working in batches, brown meatballs on all sides, about 2-3 minutes per side. Transfer to a plate and reserve 3 tablespoons of the pan drippings. (Meatballs will finish cooking in the gravy.)4 tablespoons unsalted butter
Gravy:
- Return 3 tablespoons pan drippings to the skillet over medium heat, discard the rest. Add butter and melt. Whisk in flour and cook for 1 minute.3 tablespoons reserved pan drippings, 2 tablespoons unsalted butter, 5 tablespoons all-purpose flour
- Slowly add beef broth, whisking constantly and scraping up the browned bits.4 cups beef broth
- Stir in heavy cream, Worcestershire sauce, and Dijon mustard. Simmer 3-5 minutes until slightly thickened, and the gravy coats the back of a spoon lightly.2 tablespoons Worcestershire sauce, 1 cup heavy cream, 1 tablespoon Dijon mustard
- Return meatballs to the skillet and simmer 5-8 minutes, spooning gravy over them, until cooked through (160°F internal).
- Serve over Swedish mashed potatoes with lingonberries and pickled cucumbers. Garnish with fresh parsley.Fresh parsley
Save This Recipe! 💌
Video
Notes
- Storage: Refrigerate meatballs in gravy in an airtight container for up to 3-4 days. Reheat gently on the stovetop, adding a splash of broth if the gravy thickens. Freezes well for up to 3 months.
- Salt: We use Diamond Crystal kosher salt. If using Morton's, use half the amount.
- Bread: Stale bread works best for the panade. No stale bread? Toast fresh bread lightly and let it cool.
- Don't scramble your eggs: Make sure the cooked onions are fully cooled before adding to the egg and cream mixture!
- Chilling: Don't skip this step! Cold meatballs hold their shape better when browning.
- Don't overcrowd the pan: Brown meatballs in batches so they sear rather than steam.
- Gravy thickness: Our gravy is intentionally thinner and silkier than most American versions. For thicker gravy, start with half the broth and add more as needed, or simmer longer.
- Worcestershire vs. soy: Soy sauce is traditional in Sweden - feel free to swap if you prefer.
- Make ahead: Rolled meatballs can be refrigerated overnight or frozen for up to 3 months. Thaw before cooking.






Barbara D. Miller says
Very good recipe with detailed instructions - meatballs are delicious❗️
Briana says
Thank you so much for the sweet comment, Barbara! We're SO thrilled you like this one so much!