Spaghetti with Turkey Meatballs in Spicy Tomato Sauce
This Spaghetti with Turkey Meatballs in Spicy Tomato Sauce recipe is the kind of weeknight meal that feels both comforting and a little bit special. It pairs tender, well-seasoned turkey meatballs with a bright, smoky tomato sauce and whole-wheat spaghetti for a dinner that satisfies without weighing you down. If you like a touch of heat, the minced canned chipotle in adobo brings a lovely smoky kick. The aromas while it simmers are the sort that fill the house and make everyone linger in the kitchen.
Why you’ll love this

- Lean protein from turkey keeps the meatballs tender and lighter than beef.
- Whole-wheat spaghetti adds fiber and nutty flavor that pairs beautifully with the sauce.
- The sauce is quick to build but simmers long enough to develop depth: fire-roasted tomatoes, tomato paste, rosemary, and fresh herbs create layers of flavor.
- It’s a family-friendly meal that can be dressed up or kept simple with a sprinkling of Parmesan and fresh parsley.
Ingredients
Follow this list exactly for best results. Quantities are preserved from the source so your meatballs and sauce come out perfectly balanced.
- 1 tablespoon olive oil
- 1 medium onion, chopped
- 4 medium garlic cloves, minced
- One 28-ounce can crushed fire-roasted tomatoes, liquid included
- 3 tablespoons tomato paste
- 2 teaspoons chopped fresh oregano
- 1 teaspoon finely minced canned chipotle in adobo sauce, or more/less to taste
- 1 sprig fresh rosemary
- salt (to taste)
- ¼ cup torn fresh basil leaves
- 1 pound ground turkey
- 1 slice fresh whole-wheat bread, pulsed into crumbs
- ¼ cup grated Parmesan, plus more for serving
- ½ cup finely grated carrot
- ½ cup finely chopped onion
- 2 large garlic cloves, minced
- 2 tablespoons minced fresh Italian parsley, plus more for garnish
- 2 teaspoons minced fresh thyme
- 1 large egg, lightly beaten
- ½ teaspoon salt
- freshly ground black pepper
- One box (16-ounces) whole-wheat spaghetti
Equipment
- Large saucepan or Dutch oven for the sauce
- Mixing bowl for the meatballs
- Sheet pan or plate to hold formed meatballs
- Large pot for boiling spaghetti
- Wooden spoon or spatula
- Measuring spoons and cups
- Box grater or food processor for grating carrot and bread crumbs
Taste and texture notes

The meatballs are tender thanks to the grated carrot and the single slice of whole-wheat bread pulsed into crumbs; they also gain savory depth from grated Parmesan, parsley, and thyme. The sauce balances bright acidity from fire-roasted tomatoes with the concentrated umami of tomato paste and a subtle smokiness from the chipotle. Whole-wheat spaghetti brings earthiness that holds up well under the sauce and meatballs.
Step-by-step instructions

The directions below walk you through building the sauce first, forming and cooking the meatballs, preparing the pasta, then bringing everything together. They follow the original order but clarify each action so the result is consistent every time.
1. Make the base of the sauce
- Heat 1 tablespoon olive oil in a large saucepan or Dutch oven over medium heat until shimmering.
- Add 1 medium onion, chopped, and sauté until softened and translucent, about 5–7 minutes. Stir occasionally so the onion cooks evenly and doesn’t brown too quickly.
- Add 4 medium garlic cloves, minced, and cook for 30–60 seconds more, just until fragrant. Be careful not to let the garlic burn.
2. Add the tomatoes and seasonings
- Pour in one 28-ounce can crushed fire-roasted tomatoes, including the liquid. Stir to combine with the onions and garlic.
- Add 3 tablespoons tomato paste and stir until it has fully dissolved into the sauce; this deepens the flavor and thickens the sauce.
- Stir in 2 teaspoons chopped fresh oregano and 1 teaspoon finely minced canned chipotle in adobo sauce (adjust the amount up or down to suit your heat preference).
- Tuck 1 sprig fresh rosemary into the sauce. This will infuse a subtle pine-like aroma; you’ll remove the sprig later.
- Season the sauce with salt to taste. Start conservatively—you can always add more later.
- Bring the sauce to a gentle simmer, then reduce the heat to low so it barely bubbles. Let it simmer while you prepare the meatballs, stirring occasionally. This allows the flavors to meld and the rosemary to release its aroma into the sauce.
3. Prepare the meatball mixture
- In a medium mixing bowl, combine 1 pound ground turkey with 1 slice fresh whole-wheat bread that you have pulsed into crumbs. If you don’t have a food processor, tear the bread into small pieces and squeeze them so they break down into crumbs before adding.
- Add ¼ cup grated Parmesan to the bowl.
- Stir in ½ cup finely grated carrot and ½ cup finely chopped onion. These add moisture, sweetness, and texture to the meatballs.
- Add 2 large garlic cloves, minced, along with 2 tablespoons minced fresh Italian parsley and 2 teaspoons minced fresh thyme for herbaceous flavor.
- Pour in 1 large egg, lightly beaten, to bind the mixture.
- Season with ½ teaspoon salt and a few grinds of freshly ground black pepper. Mix gently but thoroughly—overworking the mixture can make the meatballs dense. Stop mixing as soon as everything is evenly combined.
4. Shape and cook the meatballs
- Use lightly moistened hands to form the mixture into evenly sized meatballs—aim for about 1 ¼ to 1 ½ inches in diameter so they cook evenly. Place them on a sheet pan or plate as you go.
- Depending on your preference, you can cook the meatballs two ways: pan-sear then simmer, or bake then simmer. Either method will produce tender meatballs—choose the one that works best for your schedule.
Pan-searing method
- Heat a small amount of olive oil in a large skillet over medium heat. Working in batches so the pan isn’t crowded, add the meatballs and cook until browned on all sides, about 6–8 minutes total. Turn carefully so the meatballs keep their shape.
- Transfer the browned meatballs into the simmering sauce. Nestle them gently into the sauce so they’re partially submerged.
Baking method
- Preheat your oven to 400°F (200°C). Lightly oil a baking sheet or line it with parchment paper. Arrange the meatballs with a little space between each.
- Bake for about 12–15 minutes, until they are golden and just cooked through. Remove from the oven and transfer the meatballs into the simmering sauce, again nestling them so the sauce surrounds them.
5. Simmer the meatballs in the sauce
- Once the meatballs are in the sauce, continue to simmer gently on low for about 12–15 minutes. This finishing simmer finishes cooking the meatballs and lets them absorb some of the sauce flavors. Check one meatball by cutting it open to ensure it’s cooked through—no pink should remain.
- Remove the sprig of rosemary from the sauce and discard it.
- Stir ¼ cup torn fresh basil leaves into the sauce about 1–2 minutes before turning off the heat so they wilt but retain their vibrant flavor.
- Taste the sauce and adjust salt if needed.
6. Cook the spaghetti
- While the meatballs finish simmering, bring a large pot of salted water to a rolling boil. Add one box (16-ounces) whole-wheat spaghetti and cook according to the package instructions until al dente—firm to the bite but cooked through.
- Reserve about 1 cup of pasta cooking water before draining. The starchy water can be used to loosen the sauce if it’s too thick when combining.
- Drain the spaghetti and return it to the pot, or place it directly into a warmed serving bowl.
7. Combine and serve
- Either toss the drained spaghetti gently with several ladlefuls of sauce to coat the noodles, or serve the spaghetti with meatballs ladled on top—both approaches work well.
- If the sauce seems too thick, add a splash of reserved pasta water to reach the desired consistency.
- Plate the spaghetti, nestle the meatballs on top, and spoon extra sauce over everything.
- Sprinkle additional grated Parmesan and extra minced fresh Italian parsley over each serving for brightness and a finishing touch.
- Serve immediately while hot.
Make-ahead and storage
- To make ahead: Prepare the meatballs and sauce, cool completely, then store in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove until warmed through, adding a splash of water if needed.
- Freezing: Assemble meatballs and simmer them in the sauce for a short time, cool, and freeze in portioned containers for up to 3 months. Thaw overnight in the refrigerator before reheating.
- Pasta stores separately best: Cooked whole-wheat spaghetti can be stored in the refrigerator for up to 3 days; reheat with a little sauce or olive oil so it doesn’t dry out.
Recipe tips and variations
- Make it milder: Reduce the chipotle to ½ teaspoon, or omit entirely for no heat.
- Make it more saucy: Add an extra ½ cup crushed tomatoes or reserved pasta water to loosen the sauce.
- Cheesy finish: Stir a little extra Parmesan into the sauce before serving for creamier richness.
- Fresh herbs: If you don’t have fresh oregano or thyme, use 1 teaspoon dried oregano and ¾ teaspoon dried thyme, but fresh is recommended for best flavor.
- Alternative proteins: The formula works with ground chicken or a mix of turkey and chicken if you prefer.
Serving suggestions
- Serve with a crisp green salad dressed with lemon vinaigrette to cut through the richness.
- Warm crusty whole-wheat bread is great for mopping up extra sauce.
- A simple side of roasted vegetables—broccoli, zucchini, or bell peppers—complements the meal nicely.
Final notes
This Spaghetti with Turkey Meatballs in Spicy Tomato Sauce balances lean, savory meatballs with a tomato sauce that’s both robust and nuanced. It’s an easy weeknight dinner that doubles as a comforting option for a weekend meal when you want to take your time. The recipe scales well for a crowd—multiply the meatball ingredients and simmer in more sauce or use multiple pans. With simple pantry staples and fresh herbs, this dish delivers big flavor without fuss.
Enjoy your bowl of spaghetti and meatballs—serve hot, sprinkle with Parmesan and parsley, and let the smoky spice and bright basil tie everything together.

Spaghetti with Turkey Meatballs in Spicy Tomato Sauce
Ingredients
Equipment
Method
- Heat 1 tablespoon olive oil in a large saucepan over medium heat. Add 1 medium chopped onion and sauté until translucent, about 3 minutes.
- Add 4 minced garlic cloves to the pan and cook 1 minute more, then stir in the 28-ounce can crushed fire-roasted tomatoes, 3 tablespoons tomato paste, 2 teaspoons chopped oregano, 1 teaspoon minced chipotle, the rosemary sprig, and a pinch of salt.
- Bring the sauce to a low boil, then reduce heat and simmer about 15 minutes until it has reduced slightly; season with salt and pepper to taste.
- Meanwhile, preheat the broiler and lightly spray a baking sheet with cooking spray.
- In a large bowl, combine 1 pound ground turkey, pulsed whole-wheat bread crumbs, 1/4 cup grated Parmesan, 1/2 cup grated carrot, 1/2 cup finely chopped onion, 2 minced garlic cloves, 2 tablespoons minced parsley, 2 teaspoons minced thyme, 1 lightly beaten large egg, 1/2 teaspoon salt, and freshly ground black pepper; mix until just combined.
- Form the mixture into 2½-inch meatballs and arrange them on the prepared baking sheet. Broil about 10 minutes until browned and almost cooked through.
- Remove the rosemary sprig from the sauce and stir in 1/4 cup torn fresh basil leaves.
- Add the broiled meatballs to the sauce, cover, and simmer 10 minutes more until the sauce thickens slightly and the meatballs are cooked through.
- While the meatballs finish cooking, bring a large pot of salted water to a boil and cook the 16-ounce whole-wheat spaghetti according to package directions. Drain.
- Return the drained pasta to the pot, add the sauce and meatballs, toss to combine, and heat through over medium heat. Divide among 6 bowls and garnish with additional parsley and about 1 tablespoon grated Parmesan per serving, if desired.
Notes
- I like to use the Barilla brand pasta.
- Make ahead: form meatballs, cover, and refrigerate until ready to bake.
- The sauce can be made ahead of time.
- Chipotle adds significant heat; add gradually to taste.
