In a medium skillet over medium heat, melt the 2 tablespoons butter until it bubbles. Add the minced shallots and garlic and sweat over low heat until soft and translucent, about 4 minutes. Sprinkle with a dash of salt to help release the moisture. Turn off the heat and let cool for 5 minutes.
In a mixing bowl, combine the turkey, shallots, garlic, egg, breadcrumbs, sherry, Worcestershire sauce, parsley, allspice, nutmeg, cardamom, salt and pepper. Add the cooled onion and garlic mixture and mix just until incorporated.
Shape the meat mixture into 1-inch balls and place on a sheet tray or plate, you will end up with about 20 meatballs.
Heat the turkey stock in a small pot and bring to a simmer, then turn off the heat and set aside.
In the skillet, melt 4 tablespoons of butter. Brown the balls in the butter over medium heat for about 1 minute on each side, just so they are browned but not cooked through. Remove them with a slotted spoon or tongs back to a plate.
Once all of the meat has been browned, use the pan juices to make a sauce. Whisk in the flour until it is thick and clumpy and let cook for a few minutes while you whisk. A thick paste will form. Next whisk in the warm stock a little at a time until you have a light brown sauce.
Let the sauce thicken slightly, then return the turkey meatballs to the pan. Cook on low heat for 10 minutes uncovered, stirring occasionally, so that the sauce reduces further. Turn off the heat and whisk in the lingonberry sauce and yogurt. Serve immediately with a dollop of mashed potatoes and more lingonberry sauce on the side.