Tomato Spinach Pasta is an easy one-pot meal that’s ready in about 30 minutes. The combination of sautéed onion and garlic, hearty rotini, diced tomatoes and fresh spinach makes a satisfying weeknight dinner that also adds color and nutrients to the plate. Everything cooks in a single pan, so cleanup is quick.
Add Salt & Serve may earn affiliate commissions from purchases made using links on this page.

This recipe offers five minutes of prep and only one pot on the stove. The technique—starting with garlic and onions sautéed in olive oil—builds a flavorful base, then simple additions finish the dish quickly. Use fire-roasted diced tomatoes for extra depth, or regular diced tomatoes if that’s what you have on hand. Serve with freshly grated Parmesan and a few basil strips for brightness.
What you need to make Tomato Spinach Pasta

- Fresh baby spinach. Adds color and a tender texture. If using frozen spinach, thaw and squeeze out excess liquid before adding it at the end of cooking.
- Yellow onion. Provides a sweet, savory base when sautéed.
- Chicken or vegetable broth. Acts as the cooking liquid for the pasta; choose vegetable broth for a vegetarian version.
- Diced tomatoes (fire-roasted preferred). Fire-roasted tomatoes give richer flavor and darker color, but regular diced tomatoes work fine.
- Rotini or fusilli pasta. Spiral shapes hold the sauce well. Penne or ziti can be substituted.
- Garlic cloves and olive oil. Fresh garlic and a neutral oil with a high smoke point create the aromatic base.
- Dried oregano and basil. If you have fresh herbs, use them, but dried herbs are convenient and flavorful here.
- Kosher salt. Adjust quantity if you use table salt.
- Garnish: Freshly grated Parmesan and basil strips (omit or substitute non-dairy options to make the dish vegan).
See the recipe section below for exact measurements and step-by-step instructions.
How to make Tomato Spinach Pasta

Start by chopping the onion and mincing the garlic. Sauté them in olive oil in a large skillet or Dutch oven until translucent and fragrant. Add the dry pasta, diced tomatoes, broth, oregano, basil and salt. Cover, bring to a boil, and cook for about 10 minutes over medium-high heat, stirring occasionally to keep the pasta from sticking.
Lower the heat to maintain a gentle simmer and cook, covered, until the pasta is slightly al dente—about another 10 minutes—stirring every few minutes. Remove the pan from the heat and stir in the fresh baby spinach, then cover again and let it sit for 10 minutes so the spinach wilts gently from the residual heat. Stir once more and serve immediately, garnished with Parmesan and basil strips.

This simple, one-pot tomato spinach pasta feels like comfort food but relies on whole-food ingredients rather than processed mixes. The quick cooking method keeps the spinach bright and the pasta saucy, and a sprinkle of freshly grated Parmesan finishes the dish with savory richness.
Substitutions and variations
- Gluten-free: Use a gluten-free rotini and confirm that your broth is gluten-free.
- Vegetarian: Use vegetable broth instead of chicken broth.
- Vegan: Use vegetable broth and omit the cheese or substitute a non-dairy alternative or toasted pine nuts for a nutty finish.
- Pasta bake: After cooking, transfer the pasta to an ovenproof dish, top with shredded mozzarella and bake at 375°F for about 20 minutes until bubbly and slightly crisp on the edges.
- With chicken: For extra protein, top servings with sliced grilled chicken breast.
Storage and freezing
Store leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stove with a splash of broth or water to restore sauciness.
To freeze: sauté the onion and garlic, then assemble everything except the fresh spinach, uncooked pasta and broth into a freezer-safe container. Freeze and label with instructions; when ready to use, thaw and cook with fresh broth and pasta according to the recipe, adding spinach at the end.

Top tip
For an elegant basil garnish, stack basil leaves, roll them lengthwise, then slice across into thin ribbons (chiffonade).
Recipe
One-Pot Tomato Spinach Pasta
Servings: 4 | Prep time: 5 minutes | Cook time: 30 minutes | Total time: 35 minutes
Ingredients
- 1 tablespoon olive oil
- ½ medium yellow onion, chopped
- 3 garlic cloves, minced
- 2 cups vegetable or chicken broth
- 28 ounces diced tomatoes (fire-roasted recommended)
- 12 ounces rotini or fusilli pasta
- 1 teaspoon dried oregano
- 1 teaspoon dried basil
- 2 teaspoons kosher salt (adjust to taste)
- 6 ounces fresh baby spinach
- Freshly grated Parmesan cheese, for garnish
Instructions
- Chop the onion and mince the garlic.
- Heat 1 tablespoon olive oil in a large skillet or Dutch oven over medium heat. Sauté the onion and garlic for about 1 minute, until fragrant.
- Add the rotini, diced tomatoes (with juices), 2 cups broth, oregano, basil and 2 teaspoons kosher salt. Stir to combine.
- Cover and bring to a boil over medium-high heat. Cook about 10 minutes, stirring occasionally to prevent sticking.
- Reduce the heat to a low simmer, keep covered, and cook about 10 more minutes or until the pasta is slightly al dente, stirring occasionally. Remove from heat.
- Stir in the fresh baby spinach, cover, and let stand for 10 minutes until the spinach wilts from the residual heat.
- Give the pasta a final stir and serve immediately, garnished with freshly grated Parmesan and basil strips.
Notes
For deeper flavor, use fire-roasted diced tomatoes. The nutrition estimate assumes vegetable broth and 1 tablespoon Parmesan per serving. Adjust salt if using low-sodium broth.
Nutrition (per serving)
Calories: 411 | Carbohydrates: 77 g | Protein: 15 g | Fat: 6 g | Sodium: 1976 mg | Fiber: 6 g | Sugar: 9 g