Norwegian meatballs are a traditional Scandinavian dish made with rye bread, allspice berries, and a mixture of ground meat bound with eggs and cream. Their standout trait is the warm spice profile and tender crumb from the soaked rye, creating an authentic Viking-era comfort food.
6 lefse (we make ours in-house but for convenience they can be store-bought, or you can use tortillas)
3 cups shredded green cabbage
29 Ingredients
Delivery in as fast as one hour.*
Powered by
Prices vary by store
*Service fees apply. Instacart® and the Instacart logo are registered trademarks of Maplebear Inc. d/b/a Instacart.
Instructions
1
For the Norwegian meatballs: Small dice the yellow onions, or grate on a cheese grater on the largest holes. Warning: The cheese grater method is effective, but you'll likely have a tearful experience!
2
Combine butter, 1 teaspoon salt and the grated onions in a small pot. Cook on medium-low until onions are browned and smelling sweet, about 1 hour. Remove from heat and allow to cool.
3
Chop up rye bread by hand or in a food processor until crumbly, but don't obliterate it. Add heavy cream, whole milk, and rye breadcrumbs to a pot. Heat gently on low until breadcrumbs have absorbed dairy and are softened and aromatic, then remove from the heat.
4
Grind allspice berries and black peppercorns together in a spice grinder until fine.
5
Combine rye breadcrumbs, eggs, flour, caramelized onions, remaining teaspoon salt and the spices in a large mixing bowl. Mix together until a smooth paste forms, then incorporate the beef and pork, squeezing with your fingers to make sure the starchy ingredients break up into the meat. At the same time, make sure not to overwork the mixture, as that would yield tough meatballs.
6
Let stand at least 2 to 3 hours in the fridge, then roll into balls. We roll our meatballs to 1 1/2-ounces each, but all you need to do is make sure your meatballs are consistently-sized, so they cook at the same rate when they hit the oven.
7
Preheat the oven to 550 degrees F, preferably on convection. Roast meatballs until well-browned on the outside, about 10 minutes in a convection oven or 12 minutes in a conventional oven.
8
For the surkal: Thinly slice cabbage (1/4-inch thick) with a knife or mandoline. Avoid cutting into the core; you just want the purple leaves.
9
Toss cabbage and salt together in a large bowl and allow to sit.
10
Combine white sugar, cider vinegar, red wine vinegar, ground caraway seed, bay leaf and 3 cups water in a large pot, then bring to a boil. Pour over cabbage and cover, then refrigerate for about 1 day. This will help lessen the harshness of the vinegars and soften the cabbage.
11
After 24 to 36 hours, remove bay leaf and stir cabbage mixture to make sure caraway is well-distributed.
12
Refrigerate until ready to eat.
13
For the Gjetost cheese sauce: Melt the butter in a pot on medium heat and brown slightly. Add the flour and whisk well. Allow the roux to brown on medium-low heat until it reaches a rich golden brown color; it should smell nutty. This takes 20 to 30 minutes.
14
Add the milk gradually in increments, whisking vigorously as you go. If you happen to have an immersion blender, run it through and get rid of any lumps. Reduce heat to low and watch carefully, whisking often and making sure the bottom doesn't burn. You want to see bubbles popping up to the surface every few seconds.
15
Add the Madeira, white wine, salt and nutmeg. Cook until the sauce has thickened slightly, about 40 minutes, then grate the Gjetost cheese into the pot.
16
Allow the sauce to cook gently and continue to thicken for about 1 1/2 hours. Be sure to whisk the bottom occasionally to get up any browned bits. If you have one, get your immersion blender in there and run it through until smooth and velvety. When finished, sauce should be the consistency of thick gravy and taste of toasty bread and goat cheese.
17
Allow to cool for a half hour or so, then place in the fridge if you aren't going to use it right away.
18
For the meatball lefse wrap: Preheat the oven to 500 degrees F.
19
Halve 2 of the meatballs and roast until lightly browned, about 5 minutes. Toast a piece of lefse in a nonstick pan or better yet, on a lefse griddle, on both sides. Remove toasted lefse to a cutting board. Begin layering: 1/2 cup shredded green cabbage, 1/2 cup surkal/pickled cabbage, the heated meatballs and finally about 1/3 cup warm Gjetost cheese sauce. Roll it tightly like a burrito. Cut in half if you're sharing, but you probably won't want to.
Was this recipe helpful?
Tips & Notes
Pro tips
Soak the rye bread in milk and cream before mixing to soften it fully and distribute moisture evenly throughout the meatballs.
Crush allspice berries and peppercorns fresh with a mortar and pestle rather than using pre-ground spices for brighter, more aromatic results.
Chill the meat mixture for 30 minutes before shaping to make handling easier and help meatballs hold together during cooking.
Brown meatballs in butter over medium heat rather than high heat to develop flavor without splitting the exterior.
Substitutions
Allspice berries → ground allspice (use 1/2 teaspoon; less aromatic but acceptable)
Rye bread → brioche or white sandwich bread (milder flavor, slightly less dense texture)
Heavy cream + whole milk → all-purpose cream or crème fraîche (maintains binding and richness)
Storage & make-ahead
Refrigerate cooked meatballs in an airtight container for up to 4 days, or freeze for up to 3 months; reheat gently in a 325°F oven or on the stovetop with a splash of stock.
Common Questions
Can I use regular bread instead of rye?
Yes, but rye bread gives the authentic Scandinavian flavor and denser texture. White or whole wheat bread works as a substitute, though the taste will be milder.
What type of ground meat should I use?
Traditionally beef or a beef-pork blend. The recipe doesn't specify, so use what suits your preference; beef alone produces firmer meatballs.
How do I know when the meatballs are cooked through?
They should reach 160°F internal temperature. Test the largest meatball with a meat thermometer, or cut one open to check no pink remains.
Can I freeze these?
Yes. Freeze uncooked or cooked meatballs in a single layer, then transfer to freezer bags. Cooked meatballs reheat in the oven or stovetop; uncooked can go straight to the pan from frozen with slightly longer cooking time.
What's the purpose of allspice berries in this recipe?
Allspice provides a warm, slightly sweet and peppery flavor characteristic of Scandinavian cuisine. Crush whole berries just before mixing for fresher flavor than pre-ground.