Dairy-Free Spaghetti and Meatballs
A classic dairy-free spaghetti and meatballs dinner with tender dairy-free meatballs, a simple garlic-basil marinara, and spaghetti finished in the sauce so every strand is coated. Use a batch of dairy-free meatballs and skip the Parmesan without losing the comfort.
Recipe by Non Dairy Dude
Dude Note
Make the scratch-made marinara to impress friends or family, or just treat yourself because you deserve the full comfort without the dairy.
This recipe uses: Dairy-Free Meatballs
Ingredients
Meatballs
- 1 batchDairy-free meatballs, cooked or freshly baked
Sauce
- 2 tbspOlive oil
- 1 smallYellow onion, finely diced
- 4 clovesGarlic cloves, thinly sliced or minced
- 2 tbspTomato paste
- 28 ozCrushed tomatoes
- ½ cupWater, to rinse the tomato can
Seasoning
- 1 tspFine salt
- 1 tspDried oregano
- ¼ tspRed pepper flakes, optional
Finish
- ¼ cupFresh basil leaves, torn, plus more for serving
- ¼ cupDairy-free Parmesan-style topping, optional
- 1 tbspExtra-virgin olive oil, optional for serving
Pasta
- 1 lbSpaghetti
- 1 cupReserved pasta water
Instructions
- 1
If the dairy-free meatballs are cold, let them sit at room temperature while you start the sauce. If making them fresh, bake them according to the dairy-free meatballs recipe before adding them to the sauce.
- 2
Heat the olive oil in a wide skillet or Dutch oven over medium heat. Add the onion and cook for 5 to 6 minutes, until softened but not browned.
- 3
Add the garlic and cook for 30 seconds. Stir in the tomato paste and cook for 1 to 2 minutes, until it darkens slightly and smells savory.
- 4
Add the crushed tomatoes, water, salt, oregano, and red pepper flakes if using. Bring to a simmer, then reduce the heat to medium-low and cook uncovered for 15 minutes, stirring occasionally.
- 5
Gently nestle the cooked meatballs into the sauce. Simmer for 10 to 12 minutes, spooning sauce over the meatballs occasionally, until they are hot and the sauce tastes rounded.
- 6
While the meatballs warm in the sauce, bring a large pot of salted water to a boil. Cook the spaghetti until about 1 minute shy of al dente. Reserve 1 cup pasta water, then drain.
- 7
Transfer the meatballs to a plate so they do not break while tossing the pasta. Add the drained spaghetti to the sauce and toss over low heat for 1 to 2 minutes, adding reserved pasta water a splash at a time until the sauce clings to the noodles.
- 8
Stir in the torn basil. Taste and adjust with more salt, red pepper flakes, or a drizzle of olive oil if needed.
- 9
Divide the sauced spaghetti among bowls, top with meatballs, and finish with more basil, dairy-free Parmesan-style topping if using, and a little extra-virgin olive oil.
Dairy Substitutions Used
Traditional spaghetti and meatballs often brings in dairy through Parmesan in the meatballs, milk-soaked breadcrumbs, and grated cheese at the table. This recipe depends on dairy-free meatballs, uses a tomato sauce built with olive oil, garlic, basil, and tomato paste for depth, and keeps the finishing cheese optional with a dairy-free Parmesan-style topping.
Tips & Variations
Timing note: The listed timing assumes the dairy-free meatballs are already cooked or baking while you start the sauce. If you are making the meatballs completely from scratch first, plan on about 1 hour 10 minutes total.
Use the full meatball batch: One batch of dairy-free meatballs makes about 22 to 24 meatballs, enough for 6 dinner servings with spaghetti.
Turkey meatball swap: Dairy-free turkey meatballs also work here if you want a lighter version. Warm them gently and avoid a long hard simmer so they stay tender.
Finish the pasta in the sauce: Draining spaghetti and spooning sauce on top works, but tossing the noodles in the skillet with pasta water gives a glossier, better-coated result.
Move the meatballs before tossing: Dairy-free meatballs are tender by design. Taking them out briefly keeps them from breaking while you toss the spaghetti.
Do not over-simmer the meatballs: They only need enough time to warm through and season the sauce. A hard boil can make them tighter and more likely to fall apart.
About dairy-free Parmesan: Use it if you like the salty finish, but the sauce and meatballs are designed to stand without it. A drizzle of good olive oil and fresh basil are often enough.
Jarred sauce shortcut: You can replace the homemade sauce with 4 cups of dairy-free marinara. Still warm the meatballs gently in it and finish the spaghetti with pasta water.
Leftovers: Store pasta, sauce, and meatballs together for up to 4 days. Reheat gently with a splash of water to loosen the sauce.
Get new dairy-free comfort food recipes
New recipes, substitution tips, and classic dishes rebuilt without dairy.
