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!
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.
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.
Grind allspice berries and black peppercorns together in a spice grinder until fine.
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.
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.
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.
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.
Toss cabbage and salt together in a large bowl and allow to sit.
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.
After 24 to 36 hours, remove bay leaf and stir cabbage mixture to make sure caraway is well-distributed.
Refrigerate until ready to eat.
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.
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.
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.
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.
Allow to cool for a half hour or so, then place in the fridge if you aren't going to use it right away.
For the meatball lefse wrap: Preheat the oven to 500 degrees F.
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.
This recipe was provided by a chef, restaurant or culinary professional. It has not been tested for home use.