Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (450 g) 85% lean ground beef
- 1 lb (450 g) ground pork
- 3/4 cup gluten-free panko breadcrumbs
- 1/2 cup whole milk
- 1 large egg
- 1 small onion, finely grated (1/2 cup) + 2 garlic cloves, minced
- 3/4 tsp ground allspice, 1/2 tsp nutmeg, 1/2 tsp white pepper, 1 1/2 tsp kosher salt
- 2 tbsp unsalted butter + 1 tbsp neutral oil (browning)
- Gravy: 4 tbsp butter, 4 tbsp sweet rice flour or GF 1:1 flour, 3 cups GF beef broth, 3/4 cup heavy cream, 2 tsp GF Worcestershire, 1 tsp GF Dijon (optional), black pepper, pinch nutmeg
- Serve with: 3 lb Yukon Gold potatoes + 4 tbsp butter + 3/4 cup milk, or 12 oz GF noodles + 2 tbsp butter; 1/2–3/4 cup lingonberry jam; parsley
Do This
- 1. Start sides: Boil potatoes 18–20 minutes (mash with butter and milk), or cook GF noodles in salted water to al dente; toss with butter and parsley.
- 2. Panade: Soak GF panko in milk 5 minutes; stir in egg, grated onion, garlic, spices, and salt.
- 3. Mix: Add beef and pork; gently combine. Chill 10 minutes. Roll 1–1 1/4-inch meatballs (about 36).
- 4. Brown: In a 12-inch skillet, heat 2 tbsp butter + 1 tbsp oil over medium. Brown meatballs in two batches, 6–8 minutes total; transfer to a plate.
- 5. Gravy: Melt 4 tbsp butter. Whisk in 4 tbsp GF flour; cook 2 minutes. Gradually whisk in 3 cups GF beef broth; simmer 3–4 minutes. Add cream, GF Worcestershire, Dijon; season.
- 6. Simmer: Return meatballs; simmer 8–10 minutes until 160°F internal and gravy coats a spoon. Serve over potatoes or noodles with lingonberry.
Why You’ll Love This Recipe
- Classic Swedish flavors: warm allspice and nutmeg in tender beef–pork meatballs.
- Silky gluten-free pan gravy that tastes every bit as rich as the original.
- Choose your comfort base: creamy mashed potatoes or buttery gluten-free noodles.
- Balanced plate: savory meatballs with a bright pop of lingonberry on the side.
Grocery List
- Produce: Yellow onion, garlic, Yukon Gold potatoes, fresh parsley or dill
- Dairy: Unsalted butter, whole milk, heavy cream, 1 large egg
- Pantry: Ground beef, ground pork, gluten-free panko breadcrumbs, gluten-free beef broth, sweet rice flour or gluten-free 1:1 flour blend, gluten-free Worcestershire sauce (or GF tamari), gluten-free Dijon mustard, olive or neutral oil, lingonberry preserves, kosher salt, black pepper, white pepper, ground allspice, ground nutmeg
Full Ingredients
Meatballs
- 1 lb (450 g) 85% lean ground beef
- 1 lb (450 g) ground pork
- 3/4 cup gluten-free panko breadcrumbs
- 1/2 cup whole milk
- 1 large egg
- 1 small yellow onion, finely grated (about 1/2 cup)
- 2 garlic cloves, minced
- 3/4 tsp ground allspice
- 1/2 tsp freshly grated nutmeg
- 1/2 tsp white pepper (or black pepper)
- 1 1/2 tsp kosher salt
- 2 tbsp unsalted butter + 1 tbsp neutral oil (for browning)
Creamy Gluten-Free Pan Gravy
- 4 tbsp unsalted butter
- 4 tbsp sweet rice flour (or gluten-free 1:1 all-purpose flour), spooned and leveled
- 3 cups gluten-free low-sodium beef broth
- 3/4 cup heavy cream
- 2 tsp gluten-free Worcestershire sauce (or GF tamari)
- 1 tsp gluten-free Dijon mustard (optional)
- 1/4 tsp freshly ground black pepper
- 1/8 tsp ground nutmeg
- Kosher salt to taste
To Serve
- Option A: Creamy Mashed Potatoes: 3 lb Yukon Gold potatoes (peeled and quartered), 4 tbsp unsalted butter, 3/4 cup warm milk, 1 tsp kosher salt
- Option B: Gluten-Free Buttered Noodles: 12 oz gluten-free wide noodles or fettuccine, 2 tbsp unsalted butter, 2 tbsp chopped fresh parsley, kosher salt for pasta water
- 1/2 to 3/4 cup lingonberry preserves (jam)
- Chopped fresh parsley or dill, for garnish

Step-by-Step Instructions
Step 1: Prepare your base (potatoes or noodles)
For mashed potatoes: Place potatoes in a large pot, cover with cold water by 1 inch, and add 1 tablespoon kosher salt. Bring to a boil, then reduce to a simmer and cook until very tender, 18 to 20 minutes. Drain well, return to the pot over low heat for 30 seconds to steam off excess moisture, then mash with 4 tablespoons butter and 3/4 cup warm milk. Season with 1 teaspoon kosher salt (plus more to taste). Keep warm.
For gluten-free noodles: Bring a large pot of well-salted water to a boil. Cook 12 oz GF noodles to al dente per package directions (usually 7 to 9 minutes). Reserve 1/4 cup pasta water, drain, then toss with 2 tablespoons butter and 2 tablespoons chopped parsley. If needed, add a splash of reserved water to loosen. Keep warm.
Step 2: Make the panade and seasonings
In a large bowl, combine gluten-free panko and milk; let stand 5 minutes until the crumbs are evenly hydrated and pasty. Stir in the egg, grated onion, minced garlic, allspice, nutmeg, white pepper, and kosher salt until smooth.
Step 3: Mix and shape the meatballs
Add the ground beef and ground pork to the bowl. Using a fork or your fingertips, gently mix just until combined; do not overwork. Refrigerate the mixture for 10 minutes to firm slightly. With damp hands or a #40 scoop, form 1 to 1 1/4-inch meatballs (about 36), rolling lightly for a round shape.
Step 4: Brown the meatballs
Heat a large 12-inch skillet over medium heat. Add 2 tablespoons butter and 1 tablespoon oil. Working in two batches to avoid crowding, brown meatballs on all sides, 6 to 8 minutes total per batch, turning every 1 to 2 minutes for even color. Transfer browned meatballs to a plate; they will finish cooking in the gravy. Pour off excess fat, leaving about 2 teaspoons and any browned bits in the pan.
Step 5: Build the gluten-free pan gravy
Reduce heat to medium-low. Add 4 tablespoons butter to the skillet. When melted, sprinkle in 4 tablespoons sweet rice flour (or GF 1:1 flour) and whisk constantly for 2 minutes to form a blond roux. Slowly stream in 3 cups gluten-free beef broth, whisking to smooth out lumps. Increase heat to medium and simmer, whisking, until lightly thickened, 3 to 4 minutes. Whisk in the heavy cream, gluten-free Worcestershire, and optional Dijon. Season with black pepper, a pinch of nutmeg, and salt to taste.
Step 6: Simmer meatballs to finish
Return meatballs and any juices to the skillet, nestling them into the gravy. Simmer uncovered over medium-low heat, gently turning once or twice, until the meatballs are cooked through and very tender, 8 to 10 minutes. The internal temperature should reach 160°F for safety.
Step 7: Plate and serve with lingonberry
Serve meatballs and creamy gravy over warm mashed potatoes or gluten-free buttered noodles. Garnish with chopped parsley or dill, and add a spoonful of lingonberry preserves on the side for a classic sweet-tart contrast.
Pro Tips
- Grate the onion on the small holes of a box grater to release juices that keep the meatballs extra tender.
- Chilling the mixture briefly firms it up, making cleaner, rounder meatballs that hold together while browning.
- Sweet rice flour yields an especially silky, glossy gravy; it thickens quickly, so add broth gradually.
- Brown in batches for good color and fond; crowding leads to steaming instead of browning.
- Always verify labels for gluten-free status on broth, Worcestershire or tamari, Dijon, and noodles.
Variations
- All-Beef: Use 2 lb ground beef and increase allspice to 1 tsp for a bolder spice note.
- Lighter Poultry: Use 2 lb ground turkey or chicken thigh and swap in GF chicken broth; add 1 tsp neutral gelatin to the broth for extra body if desired.
- Dairy-Free: Use dairy-free butter and unsweetened almond or oat milk; replace cream with canned full-fat coconut milk or a barista-style dairy-free cream.
Storage & Make-Ahead
Refrigerate cooled meatballs in gravy in an airtight container for up to 4 days. Reheat gently on the stovetop over medium-low, loosening with a splash of broth or milk. Freeze cooked meatballs in gravy for up to 2 months; thaw overnight in the refrigerator before reheating. To prep ahead, shape raw meatballs and refrigerate up to 24 hours or freeze on a sheet pan until solid, then bag and freeze. Cook noodles or mash potatoes fresh for best texture.
Nutrition (per serving)
Approximate, for meatballs with gravy only (no potatoes or noodles): 650 calories; 43 g fat; 16 g carbohydrates; 40 g protein; 1 g fiber; 6 g sugars; 1100 mg sodium.

