Heat 1 tablespoon olive oil in a large skillet over med-high heat. Add the onions to the pan and cook until softened. Allow to cool.
In a large bowl, mix the ground beef, egg, bread crumbs, milk, onion, salt, pepper, nutmeg and allspice until combined. Form the mixture into 1 inch balls.
Heat the remaining olive oil in the skillet over medium heat and add the meatballs to the pan. Saute the meatballs until golden brown on all sides, about 7-10 minutes. Using a slotted spoon, transfer the meatballs to a platter. Drain off all but 2 tablespoons of fat from the skillet and return to the heat. Add the flour to the pan and whisk until golden brown, approximately 1-2 minutes. Slowly add the beef stock and whisk until the sauce begins to thicken. Whisk in the cream and continue to cook until the gravy is thick enough to coat the back of a spoon. Return the meatballs to the pan and simmer for 1-2 minutes. Serve over egg noodles, rice or mashed potatoes.
Video
Notes
Swedish Meatballs can be made up to 3 days in advance. Store in an airtight container and refrigerate until ready to reheat.You can assemble the meatballs in advance and freeze them on a sheet pan. Once frozen, transfer to an airtight container or zip top bag then store in the freezer for up to 3 months. When ready to cook from frozen, allow to thaw to room temperature and the make the recipe as directed after the meatballs are thawed.