
The Weeknight Dinner My Sink Thanks Me For
Most meatball recipes want three things from you: a sheet pan, a pot of sauce, and an hour you don’t have on a Wednesday. I wanted the cozy, Sunday-supper feeling without the pile of dishes. That’s how these One-Pan Turkey Meatballs happened.
You brown the meatballs in a skillet, build a garlicky tomato sauce right in the same pan, and let them finish cooking while they simmer. A few big handfuls of spinach wilt in at the end. My secret for keeping lean turkey juicy? Grated onion, juices and all, mixed right into the meat. Almond flour instead of breadcrumbs keeps them tender and gluten-free.
One pan. Thirty minutes. Dinner with real flavor. Let’s make it.
Essential Ingredients and Kitchen Tools
For the Turkey Meatballs:
- 1 lb (450 g) ground turkey (93% lean is my sweet spot; 99% lean turns dry and crumbly)
- 1/3 cup (35 g) almond flour (or plain panko if you don’t need gluten-free)
- 1/4 cup (20 g) finely grated Parmesan (plus more for serving)
- 1 large egg (the binder that holds everything together)
- 1/4 small yellow onion (grated on the large holes of a box grater, about 2 tbsp with its juice)
- 3 garlic cloves (grated or pressed)
- 2 tbsp fresh parsley (finely chopped)
- 1 tsp dried oregano
- 3/4 tsp kosher salt and 1/4 tsp black pepper
For the Tomato Spinach Sauce:
- 1 tbsp extra virgin olive oil (plus a drizzle to finish)
- The rest of the yellow onion (finely diced, about 1/2 cup)
- 2 garlic cloves (thinly sliced)
- 1/4 tsp red pepper flakes (more if you like it warm)
- 1 can (28 oz / 794 g) crushed tomatoes (fire-roasted adds a nice smoky note)
- 1 tsp dried basil and 1/2 tsp kosher salt
- 4 packed cups (about 4 oz / 115 g) baby spinach (it cooks down to almost nothing, I promise)
- Fresh basil leaves (for serving)
Kitchen Tools:
- 12-inch deep skillet or braiser with a lid (it needs room for 20 meatballs in one layer)
- Box grater (for the onion)
- Mixing bowl and a fork
- Instant-read thermometer (the easiest way to know they’re done)


One-Pan Turkey Meatballs
Ingredients
Method
- Mix: Stir the almond flour, Parmesan, egg, grated onion, garlic, parsley, oregano, salt, and pepper together, then gently mix in the turkey. Roll into about 20 meatballs with wet hands.
- Brown: Brown the meatballs in hot olive oil in a 12-inch skillet, 5 to 6 minutes. Transfer to a plate.
- Simmer: Cook the diced onion 3 to 4 minutes, add garlic and pepper flakes, then the tomatoes, basil, and salt. Return the meatballs, cover, and simmer 12 to 15 minutes, to 165°F (74°C).
- Finish: Fold in the spinach until wilted, then top with Parmesan, basil, and a drizzle of olive oil.
Notes
- Use 93% lean turkey. 99% lean makes dry, crumbly meatballs.
- Ground chicken works the same way, with the same cook times.
- Make sure your skillet is at least 12 inches. A crowded pan steams the meatballs instead of browning them.
Step-by-Step Instructions
Step 1: Mix and Roll the Meatballs
In a mixing bowl, combine the almond flour, Parmesan, egg, grated onion with its juice, garlic, parsley, oregano, salt, and pepper. Stir it into a loose paste first. Then add the ground turkey and mix with a fork just until everything is combined.
Here’s a mistake I made the first time: I squeezed and kneaded the mix like meatloaf. The meatballs came out bouncy, like little rubber balls. Mix gently and stop as soon as you can’t see streaks. The mixture will be sticky, so wet your hands with cold water and roll it into about 20 meatballs, 1 1/2 inches each.
Step 2: Brown the One-Pan Turkey Meatballs
Heat the olive oil in your skillet over medium-high heat until it shimmers. Add the meatballs in a single layer and leave them alone for 2 minutes. If you try to move them too soon, they’ll stick and tear. Once they release easily, turn them with tongs and brown on a couple more sides, about 5 to 6 minutes total.
They won’t be cooked through yet, and that’s fine. Move them to a plate. Leave those browned bits in the pan. That’s flavor.
Step 3: Build the Sauce and Simmer
Turn the heat to medium. Add the diced onion and cook 3 to 4 minutes, until soft and starting to turn golden. Stir in the sliced garlic and red pepper flakes for 30 seconds, just until fragrant. Pour in the crushed tomatoes, basil, and salt, and scrape up the brown bits from the bottom with a wooden spoon.
Nestle the meatballs back into the sauce with any juices from the plate. Cover, lower the heat, and simmer 12 to 15 minutes, until the meatballs reach 165°F (74°C) in the center. The sauce will thicken and turn a deeper brick red.
Step 4: Wilt the Spinach and Serve
Uncover and add the spinach a handful at a time, folding it gently into the sauce around the meatballs. It wilts in 1 to 2 minutes. Taste the sauce and add a pinch more salt if needed.
Finish your One-Pan Turkey Meatballs with grated Parmesan, torn basil, and a drizzle of olive oil. Serve over zucchini noodles, creamy polenta, spaghetti, or with crusty bread to mop up the sauce. If you like this kind of easy cleanup, my Maple Dijon Salmon is another one-pan dinner I make on repeat.

Frequently Asked Questions
Why Do Turkey Meatballs Come Out Dry?
Lean turkey has very little fat, so it dries out fast. Three things fix it: use 93% lean instead of 99%, add grated onion for moisture, and don’t overcook. Since these One-Pan Turkey Meatballs finish gently in the sauce, they stay juicy. Pull them as soon as they hit 165°F (74°C).
Can I Bake the Meatballs Instead of Browning Them?
Yes. Bake them on a parchment-lined sheet pan at 400°F (200°C) for 12 minutes, then drop them into the simmering sauce for the last 5 minutes. You’ll lose a little of that browned flavor in the sauce, and you’ll wash one extra pan, but it’s more hands-off.
Can I Use Breadcrumbs Instead of Almond Flour?
Absolutely. Use the same amount of panko or plain breadcrumbs. The meatballs will be a touch lighter and springier. Almond flour makes them extra tender and keeps the recipe gluten-free and lower in carbs.
Can I Freeze One-Pan Turkey Meatballs?
They freeze beautifully. Cool the meatballs and sauce completely and freeze in airtight containers for up to 3 months. The spinach will darken a little, but the flavor holds up. Thaw overnight in the fridge before reheating.
Make-Ahead and Storage Tips
- Make ahead: Roll the raw meatballs up to 1 day ahead and keep them covered on a plate in the fridge. Or cook the whole dish a day early. Meatballs in sauce always taste better the next day.
- Fridge: Store leftovers in an airtight container for up to 4 days.
- Reheating: Warm them in a covered skillet over medium-low heat with a splash of water for 8 to 10 minutes, stirring once. In the microwave, use 50% power in 1-minute bursts so the meatballs don’t turn tough.
Disclaimer:
Nutrition information is an estimate calculated from the ingredients listed and will vary with the brands and portion sizes you use. Pasta, polenta, or bread for serving is not included. This recipe is shared for general information and is not medical or dietary advice, so please check with your doctor or a registered dietitian if you have specific health needs.