Skip to content
← Back to recipes

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

Prep 10 min
Cook 35 min
Total 45 min
Servings 6
Difficulty easy
Servings
6

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. 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. 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. 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. 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. 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. 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. 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. 8

    Stir in the torn basil. Taste and adjust with more salt, red pepper flakes, or a drizzle of olive oil if needed.

  9. 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.