Small, tender, and deeply savory, these Classic Swedish Meatballs are everything you want on a cold night. A blend of beef and pork gets warmth from allspice and nutmeg, browns in plenty of butter, then finishes in a silky cream gravy made right in the same pan. They're soft, juicy, and just a little bit fancy. They taste like you've been making them for years. 🤤

Save This Recipe! 💌
⭐Very good recipe with detailed instructions - meatballs are delicious! - Barbara
Traditional Swedish Meatballs in Creamy Gravy, Made the Classic Way🇸🇪
Köttbullar are basically Sweden's national dish. They show up at weeknight dinners and birthday parties, and they're a must on every big holiday table, from the julbord at Christmas to the midsommar spread in June, right alongside the pickled herring and creamy dill potato salad. My love and interest in Nordic food started young, since I have a Finnish grandmother from Michigan's Upper Peninsula. 😉 It only grew during my year as an exchange student in Norway, and with Swedish roots on my mom's side, I couldn't resist learning how to make these properly.
So what makes a Swedish meatball Swedish? It's all in the details. A soaked-bread panade keeps the meatballs incredibly tender. Grated onion melts right into the meat. Allspice and nutmeg (plus a whisper of clove, if you like) bring that cozy warmth. Everything browns in butter, never oil, and the drippings become a pourable cream gravy called gräddsås. And they're small! Way smaller than Italian meatballs. Oh, and oregano does NOT belong in Swedish meatballs. 😉
A lot of the recipes out there skip these classic techniques, and the result is bland meatballs drowning in a gloopy gravy. We stuck with the traditional methods, then added a couple of our own touches along the way. We'll tell you exactly which is which, so you can make them your way!
🧅 Ingredients for Classic Köttbullar and Gravy
You probably have most of these on hand already! Stale bread, a splash of cream, and plenty of butter turn a simple beef and pork blend into something truly special (and delicious!).

How to Make Köttbullar and Swedish Meatball Gravy ✨
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:
Prepare the onion

- Step 1: Grate your onion using a box grater. Melt butter in a skillet and add the grated onion with a pinch of salt.

Cook until soft and translucent. Set it aside to cool completely.
🧅 Grated and cooked: In Sweden, some cooks grate the onion raw right into the meat, while others dice it and fry it in butter first. We do both! Grating spreads the flavor evenly so you never bite into a chunk of onion, and cooking it in butter mellows the sharpness. Either method is traditional and works great.
Make the panade

- Step 2: Meanwhile, in a large bowl, whisk together the eggs and heavy cream. Once the cooked onions have cooled, add them to the egg and cream mixture and whisk to combine.
💡 Make sure those onions are cooled! Hot onions + raw eggs = scrambled eggs in your meatball mix. Not what we're going for! 😅

- Step 3: Add the bread to the egg mixture.

Stir to coat all of the bread.

- Step 4: Let the mixture soak until completely saturated, about 10 minutes, until the bread is soft and mushy.
🍞 Why the panade matters: Bread soaked in cream and egg (called a panade) is the classic secret to tender, juicy meatballs. The soaked bread holds onto moisture as the meat cooks, so the meatballs stay soft instead of turning tough and dense. Stale bread soaks up the most liquid, but breadcrumbs work too. Both are traditional.
Mix and shape the meatballs

- Step 5: In a separate large bowl, combine the ground beef and pork with the salt, pepper, allspice, nutmeg, and cloves (if using).
🧂The warm spice balance: Allspice is the signature Swedish meatball spice, and nutmeg rounds it out. Ground cloves (kryddnejlika in Swedish) are traditional too, especially in julköttbullar, aka Christmas meatballs - the version served on the julbord (Christmas buffet)! They add a subtle warmth that makes these extra cozy. Leave them out if you prefer, but we love what they bring to the party.

- Step 6: Add the panade to the meat.

Mix gently with your hands, just until everything is evenly combined. Don't overwork it!
🚫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 7: Roll the mixture into small, even meatballs between your palms.
💡 Small is the classic size. Traditional Swedish meatballs are bite-sized, way smaller than Italian meatballs. Damp hands keep the mixture from sticking, and a small cookie scoop helps keep them even.


- Step 8: Chill the rolled meatballs on a tray before browning.
❄️ Don't skip the chill: Chilling firms up the fat in the meat, which helps the meatballs hold their round shape when they hit the hot pan. You can even roll them the night before. If you skip this step, they're more likely to fall apart or flatten out.
Brown the meatballs

- Step 9: Melt butter in a large skillet and brown the meatballs in batches, turning them so they get golden on all sides.
🧈 Why all butter? Swedish home cooks traditionally brown köttbullar in butter, never oil, and there's a delicious reason. The milk solids in butter toast right along with the meatballs, giving them a nutty, golden crust and leaving behind flavorful browned bits that become the base of your gravy. We use Plugrà European-Style Butter, our official butter partner. Its higher butterfat means less water in the pan, so you get less spattering, a better sear, and overall a richer flavor!
💡 Give them space: Brown in batches so the meatballs sear instead of steam. Crowding the pan drops the temperature, and you'll lose that golden crust.

- Step 10: Transfer the browned meatballs to a plate and set aside, they don't need to be cooked all the way through yet, since they'll finish in the gravy.
Make the Swedish meatball gravy
The gravy is where this recipe really shines! It's built right on top of the browned bits from the meatballs, so it's packed with flavor in just a few minutes.

- Step 11: Keep the reserved drippings in the skillet, add a little more butter, and whisk in the flour.

Whisk constantly for about 2-3 minutes until it turns a light golden color, and the raw flour scent fades to make a quick roux.
🥄 Cook out the flour: Letting the roux bubble for a full minute cooks off the raw flour taste and gives the gravy a toasty, nutty depth. Keep the heat at medium so the butter doesn't burn.

- Step 12: Slowly pour in the beef broth while whisking constantly, scraping up all the browned bits from the bottom of the pan.
🍳 Don't wipe out that pan! All those golden bits stuck to the bottom of the skillet are pure flavor. As the broth hits the pan, scrape them up with your whisk or a wooden spoon so they dissolve right into the gravy. Adding the broth slowly while you whisk keeps the gravy smooth and lump-free.

- Step 13: Stir in the heavy cream, Worcestershire sauce, and Dijon mustard.

Let the gravy simmer until it lightly coats the back of a spoon.
🫕 Our touches (and the traditional swap): Soy sauce is actually traditional in Swedish meatball gravy, but we love the depth Worcestershire brings. Feel free to swap in soy if you prefer! The Dijon is all us, not a Swedish tradition. It's one of those ingredients we always reach for, and a little bit gives the cream gravy some tang and depth. Leave it out if you want to keep things strictly classic!
🥄 Our gravy is thin on purpose: Our gravy is thinner than most American versions. We prefer a silky, pourable sauce that coats the meatballs rather than smothers them. In Sweden, opinions are split on gravy thickness (and at a smörgåsbord, the gravy is often skipped entirely!). Keep in mind it thickens a bit more once the meatballs go back in. If you like it thicker, add less broth at the start or let it simmer a little longer.

- Step 14: Return the meatballs to the skillet and simmer them in the gravy, spooning the sauce over the top, until they're cooked through.
🌡️ 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!
Garnish with fresh parsley and serve right away while the gravy is hot and silky.

What to Serve with Swedish Meatballs 🥔
In Sweden, köttbullar are almost always served the same cozy way: mashed potatoes, a spoonful of lingonberries, and pressgurka (quick pickled cucumbers).
If you're short on time, just make our Norwegian quick pickled cucumbers as the perfect stand-in for pressgurka.
These buttery Swedish mashed potatoes (potatismos) are the classic base, or try our creamy mashed rutabaga with brown butter for a delicious and savory Scandi base. For an easy weeknight dinner, buttered egg noodles soak up every drop of that gravy. 🤤
Lingonberries are always on the table too. For the lingonberries, go with our easy stirred lingonberries (rårörda lingon) or our easy homemade lingonberry sauce. Cranberry sauce can work in a pinch if you can't find lingonberries or store-bought lingonberry jam!

These are cozy enough for a weeknight and special enough for the holiday table. Make a double batch and freeze half. Future you will be so grateful! Smaklig måltid! Or, "enjoy your meal"!😉 🇸🇪
If you love Scandinavian recipes, try our Norwegian meatballs in brown gravy (kjøttkaker) next. They're bigger, flatter, and simmered in a rich brown gravy.
🌟Leave a Review!
If you make these Classic Swedish Meatballs and Gravy, 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

Swedish Meatballs with Creamy Gravy (Classic Köttbullar)
Equipment
- small cookie scoop optional, but helpful for shaping meatballs
- box grater
- instant read thermometer optional, but helpful for ensuring the meatballs are cooked through!
Ingredients
Onion
- 1 medium yellow onion grated
- 2 tablespoons unsalted butter 28g
- ⅛ teaspoon kosher salt or to taste, we use Diamond Crystal kosher salt in this recipe, see notes
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 Diamond Crystal, see notes
- ½ teaspoon black pepper
- ¾ teaspoon ground allspice
- ½ teaspoon ground nutmeg
- ⅛ teaspoon ground cloves optional, traditional for Christmas
- 4 tablespoons unsalted butter ½ a stick (57g), for browning
Gravy
- 4 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 or soy sauce
- 1 tablespoon Dijon mustard optional
- 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.4 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
- Salt: This recipe uses Diamond Crystal kosher salt. If using Morton's kosher salt or fine sea salt, use half the amount.
- Bread: Stale bread soaks up the most liquid. If your bread is fresh, lightly toast it and let it cool first. Plain breadcrumbs also work.
- Test the seasoning: Before rolling, cook a small piece of the mixture in a hot skillet and taste. Adjust the salt or spices as needed.
- Milk instead of cream: We use heavy cream for a richer, special-occasion version. Whole milk works if that's what you have; the gravy will be a little lighter.
- Soy sauce: Soy sauce is traditional in Swedish gravy and can replace the Worcestershire.
- Dijon: The Dijon is our own addition for a little tang. Leave it out for a more traditional gravy.
- Gravy thickness: This gravy is intentionally thinner than many American versions, and it thickens a bit more once the meatballs go back in. For a thicker gravy, start with half the broth and add more as needed, or simmer a few minutes longer.
- Lingonberries: Look for lingonberry jam in the international aisle or at IKEA or in grocery stores. Cranberry sauce works in a pinch.
- Make ahead: Roll the meatballs and refrigerate them overnight, or freeze uncooked meatballs on a tray, then transfer to a freezer bag for up to 3 months. Thaw in the refrigerator before browning.
- Storage and reheating: Refrigerate the cooked meatballs in their gravy for 3 to 4 days. Reheat gently on the stove, adding a splash of broth if the gravy has thickened. Cooked meatballs in gravy freeze for up to 3 months.
- Serve with: Swedish mashed potatoes (potatismos) or creamy mashed rutabaga, plus stirred lingonberries or homemade lingonberry sauce, and agurksalat (Norwegian cucumber salad). Buttered egg noodles make an easy weeknight base. For another Nordic favorite, try our Norwegian meatballs in brown gravy.






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!