Skip to main content

Swedish Christmas Meatballs (Kottbullar) Recipe

The real kottbullar: tender pork-and-beef meatballs in a rich cream gravy, served every Swedish Christmas Eve. This is the authentic version, not the flatpack version you know.

0 (0 reviews)
Prep 25 min
Cook 30 min
Total 55 min
Serves 6 servings
Difficulty Medium

Swedish Christmas meatballs, known as kottbullar, are the undisputed centerpiece of the Swedish Julbord, the Christmas Eve smorgasbord that anchors the Swedish holiday tradition. These are not the oversized, tomato-sauced versions from Italian-American kitchens. Kottbullar are small, dense with spice, and served in a thin cream gravy that clings rather than pools. The mixture of pork and beef, soaked breadcrumbs, and a hit of allspice is what separates the genuine article from every imitation.

The Swedish meatball recipe has been refined in home kitchens for generations. What makes this version reliable is the panade, breadcrumbs soaked in milk until saturated, which keeps the interior tender even after hard searing. The pan drippings go straight into the gravy, so nothing is wasted and every bit of Maillard flavor ends up in the sauce. Serve alongside boiled potatoes, pickled cucumbers, and lingonberry jam for a complete Julbord spread.

Equipment

Large (12-inch) heavy-bottomed skillet or saute pan Box grater Parchment-lined baking tray Whisk Instant-read thermometer Large mixing bowl

Instructions

Tap each step to track your progress

0 / 10
  1. 1

    Combine the breadcrumbs and milk in a large mixing bowl and stir to combine. Let sit for 5 minutes until the milk is fully absorbed and the bread has softened to a paste.

  2. 2

    Add the grated onion, egg, salt, allspice, white pepper, and nutmeg to the breadcrumb mixture. Mix thoroughly.

  3. 3

    Add the ground beef and ground pork. Using your hands, mix firmly for about 2 minutes until the mixture is uniform and slightly sticky. Do not undermix; a well-combined farce holds together better during frying.

  4. 4

    With wet hands, roll the mixture into balls roughly 1 inch (2.5cm) in diameter. You should get around 30 meatballs. Place them on a parchment-lined tray. Refrigerate for 15 minutes to firm up slightly.

  5. 5

    Heat a large (12-inch) heavy-bottomed skillet over medium-high heat. Add 1 tbsp of the butter. Once the butter is foaming and just starting to turn golden, add the meatballs in a single layer without crowding. Work in two batches if needed.

  6. 6

    Fry undisturbed for 2 minutes until deeply browned on the bottom, then roll the meatballs to sear the opposite sides. Total frying time is about 6-8 minutes per batch. The meatballs should be cooked through (internal temperature 160F / 71C) and deeply golden all over. Transfer to a warm plate and tent loosely with foil.

  7. 7

    Reduce heat to medium. Add the remaining 2 tbsp butter to the same pan. Once melted, sprinkle in the flour and whisk constantly for 1 minute until the roux turns a pale biscuit color and smells nutty.

  8. 8

    Gradually pour in the warm beef stock, whisking continuously to prevent lumps. Bring to a simmer and cook for 3 minutes until slightly thickened.

  9. 9

    Pour in the heavy cream, soy sauce, and mustard. Stir to combine and simmer for another 2-3 minutes until the gravy is smooth and coats the back of a spoon. Taste and adjust salt and white pepper.

  10. 10

    Return the meatballs to the pan and gently toss to coat in the gravy. Simmer on low for 3-4 minutes to heat through and let the meatballs absorb some of the sauce. Serve immediately.

Tips & Tricks

Grate the onion, do not dice it

Grated onion disperses evenly through the meat mixture and releases moisture that keeps the meatballs tender. Diced onion creates uneven pockets and gives the surface a rough texture that makes browning harder.

Keep the meatballs cold before frying

Chilling firms the fat in the mixture, which is what holds the meatball together during the initial sear. Room-temperature meatballs go soft in the hot pan and often lose their shape before a crust can form.

Use a cast iron or stainless skillet, not nonstick

You need actual fond (the browned bits on the pan bottom) to build the gravy. A nonstick pan prevents this. Cast iron or stainless steel are the right tools; the drippings and fond left behind are the base of the sauce.

Mix pork and beef in equal proportions

All beef makes a firmer, denser meatball. All pork makes it too soft and rich. The 50/50 split is the traditional ratio and produces the best texture: tender but with enough structure to hold up in the gravy.

Make the meatballs ahead and freeze before cooking

Rolled, uncooked meatballs freeze well on a tray, then transfer to a bag for up to 3 months. Fry from frozen over slightly lower heat, adding 2-3 minutes per batch. This is the best make-ahead strategy for Christmas Eve prep.

Troubleshooting

My meatballs fall apart in the pan

The mixture was not mixed firmly enough, or the meatballs went into the pan too warm. Mix the farce for a full 2 minutes until it feels cohesive and slightly tacky, not crumbly. Chilling before frying is not optional; 15 minutes in the refrigerator helps the fat firm up and the meatballs hold their shape under high heat.

The meatballs are dense and rubbery

The meat was overworked or the fat ratio was too low. Use 80/20 ground beef and do not substitute lean mince. Overworking activates myosin proteins in the meat, which tightens the texture. Mix until just combined after adding the meat, not beyond.

The gravy is lumpy

The stock was added too quickly or was cold when it hit the roux. Add the stock in a slow, steady stream while whisking constantly. If lumps form, strain the gravy through a fine mesh sieve before adding the cream.

The gravy is too thin

Continue simmering with the meatballs removed until it reaches the consistency you want. Alternatively, mix 1 tsp cornstarch with 1 tbsp cold water and whisk it in, then simmer for 2 minutes. Adding more flour directly to finished gravy causes lumps.

The meatballs are dry inside

Overcooked or undersized. Aim for a consistent 1-inch diameter and check with a thermometer; pull them at 160F (71C). They will carry over to 165F off the heat. Finishing them in the simmering gravy for a few minutes also keeps them moist.

Variations

Dairy-Free Version

Replace the milk in the panade with unsweetened oat milk and use olive oil instead of butter for frying. For the gravy, substitute coconut cream (not coconut milk) for the heavy cream. The gravy will be slightly sweeter; the mustard cuts through it well.

Gluten-Free Version

Use certified gluten-free breadcrumbs or substitute with finely ground rolled oats soaked in the same quantity of milk. Replace the all-purpose flour in the gravy with 1 tbsp cornstarch mixed with 2 tbsp cold water, stirred in at the end of cooking rather than made into a roux. The texture difference is minimal.

Pork-Free Version

Use all beef (1 lb ground beef, 80/20). The meatballs will be slightly firmer and less tender than the mixed version. Increase the allspice to 3/4 tsp to compensate for the missing depth from the pork.

Smoked Paprika Twist

Add 1 tsp smoked paprika to the meat mixture and 1 tsp to the gravy roux. This is not traditional, but it adds a subtle smokiness that works well if you are serving kottbullar at a party rather than a formal Julbord.

Serving & Gifting

Serve kottbullar directly from the pan or transfer to a warmed serving dish. They are traditionally accompanied by boiled or mashed potatoes, pickled cucumbers (pressgurka), and a generous spoonful of lingonberry jam on the side; the sweet-tart jam is not optional, it is the counterpoint that makes the rich cream gravy work. For a Christmas buffet, keep them warm in a low oven (200F / 95C) with the gravy in a separate pitcher.

Storage & Freezing

Refrigerate leftover meatballs in the gravy in an airtight container for up to 4 days. Reheat gently on the stovetop over low heat, adding a splash of stock or cream if the gravy has thickened. The meatballs freeze well without the gravy for up to 3 months; freeze in a single layer on a tray first, then bag them. Make the gravy fresh when serving from frozen.

Common Questions

What is the difference between Swedish meatballs and regular meatballs?

Swedish meatballs (kottbullar) are smaller, more delicately spiced with allspice, white pepper, and nutmeg, and served in a cream-based gravy rather than tomato sauce. The texture is also different: a panade of soaked breadcrumbs is mixed into the farce, making them noticeably more tender than Italian-style meatballs.

Can I make Swedish Christmas meatballs ahead of time?

Yes. Fry the meatballs up to 2 days ahead and refrigerate them. Make the gravy fresh on the day you serve. Alternatively, freeze raw rolled meatballs for up to 3 months and fry from frozen. The full assembled dish (meatballs in gravy) also reheats well from the refrigerator over gentle heat.

What do you serve with kottbullar at Christmas?

The traditional Julbord accompaniments are boiled or mashed potatoes, pickled cucumber salad (pressgurka), and lingonberry jam. The jam is not decorative; the acidity is needed to cut through the cream gravy. For a larger spread, add pickled herring, boiled eggs, and cold cuts.

Do Swedish Christmas meatballs contain allspice?

Yes. Allspice is the defining spice in traditional kottbullar, along with white pepper and a small amount of nutmeg. This combination is what distinguishes them from other meatball traditions. If you omit the allspice, you get a perfectly fine meatball, but not an authentic kottbullar.

What is the best meat ratio for Swedish meatballs?

Equal parts ground pork and ground beef (50/50) is the traditional and best-tested ratio. The pork adds fat and sweetness; the beef adds structure and depth. Use 80/20 ground beef for adequate fat content. Leaner mince produces a noticeably drier result.

Can I use store-bought Swedish meatballs for this recipe?

The cream gravy recipe works with pre-made meatballs, but the result will not compare to fresh kottbullar. Store-bought versions are typically larger, less spiced, and coarser in texture. For a Julbord, make them from scratch; the process takes about an hour total and the quality difference is substantial.

Sweden Christmas Dinner Feast Traditions Cooking Families Traditional Make Ahead
Step 1 of 10