One-Pot Creamy Tuscan Pasta (Dairy-Free Option Included)

Alright, fam — this one came together on a Tuesday when I had exactly nothing planned for dinner and a very vocal five-year-old asking me every 90 seconds if food was ready.

10 minutesPrep
20 minutesCook
30 minutesTotal
4 servingsServings
One-Pot Creamy Tuscan Pasta (Dairy-Free Option Included)

Alright, fam — this one came together on a Tuesday when I had exactly nothing planned for dinner and a very vocal five-year-old asking me every 90 seconds if food was ready. I spotted a jar of sun-dried tomatoes at the back of the pantry, a bag of spinach that was one day away from giving up on life, and a box of penne, and I thought: Tuscan pasta. One pot. Twenty-five minutes. Done. That’s the whole story.

Now, I want to be upfront with you — this is an Italian-inspired dish, not something from my mom’s masala dabba. But the reason it belongs on this blog is exactly what happened next: Meera’s friend was over for dinner again (you may remember her from the coconut curry post — same kid, ongoing dining relationship), and she has a dairy allergy. The original version of this dish is all cream and parmesan. So I ran two pots simultaneously — the classic version for the rest of us, and a full coconut cream swap for her. Both were finished in under 30 minutes. Both got demolished. Her mom texted me afterward to ask for the dairy-free version. So here we are.

This one-pot creamy Tuscan pasta has sun-dried tomatoes for that deep, jammy sweetness, fresh spinach that wilts right into the sauce, garlic that does what garlic always does, and a cream sauce that comes together in the same pot as the pasta — no draining, no extra dishes, no separate sauce pan. The starch from the pasta thickens everything as it cooks. It’s genuinely a little bit magic. Rohan said, and I quote, “I would absolutely pack this for lunch tomorrow,” which in this house is the highest rating anything can get.

I’ve included the classic version with heavy cream and parmesan, and a fully dairy-free swap using coconut cream and nutritional yeast that is just as rich, just as satisfying, and absolutely holds its own. Both versions are tested. Both versions are this one post. Let’s go.

Ingredients

  • 350g (12 oz) penne or rigatoni pasta (use certified gluten-free pasta if needed)
  • 1 tbsp olive oil
  • 5 cloves garlic, minced
  • 1/2 tsp chilli flakes (optional — skip if cooking for young kids)
  • 100g (about 1/2 cup) sun-dried tomatoes in oil, roughly chopped (drain excess oil)
  • 1 tsp dried Italian herb blend (or 1/2 tsp dried oregano + 1/2 tsp dried basil)
  • 1/2 tsp smoked paprika
  • 1/2 tsp fine salt, plus more to taste
  • 3 cups (750ml) low-sodium vegetable broth or chicken broth
  • 1 cup (250ml) water
  • 120g (about 4 cups, loosely packed) fresh baby spinach
  • FOR CLASSIC VERSION: 3/4 cup (180ml) heavy cream (35%)
  • FOR CLASSIC VERSION: 1/2 cup (50g) finely grated parmesan, plus extra to serve
  • FOR DAIRY-FREE VERSION: 3/4 cup (180ml) full-fat coconut cream (check label — soy-free if needed)
  • FOR DAIRY-FREE VERSION: 3 tbsp nutritional yeast
  • Fresh basil leaves to serve (optional)
  • Cracked black pepper to serve

Instructions

    1. Heat the olive oil in a large, deep pot or Dutch oven over medium heat. Add the minced garlic and chilli flakes (if using) and cook for 60 seconds, stirring constantly, until fragrant and just starting to turn golden at the edges. Don’t walk away here — garlic goes from golden to burnt fast.
    1. Add the sun-dried tomatoes, Italian herbs, smoked paprika, and salt. Stir everything together and cook for another minute so the spices bloom in the oil and the tomatoes start to soften and deepen in colour.
    1. Pour in the broth and water. Increase the heat to high and bring to a boil, scraping up any bits stuck to the bottom of the pot — that’s flavour, don’t leave it behind.
    1. Add the pasta. Stir well to make sure nothing is clumped together. Reduce the heat to a vigorous simmer (medium-high), and cook uncovered for 10-12 minutes, stirring every 2-3 minutes to prevent sticking. The pasta will absorb most of the liquid and the sauce will start to thicken. If it looks like too much liquid at the 8-minute mark, don’t panic — it reduces. Trust the process.
    1. When the pasta is just shy of al dente and there’s still a small amount of saucy liquid in the pot (not dry, not soupy — somewhere perfectly in between), reduce the heat to low.
    1. FOR CLASSIC VERSION: Pour in the heavy cream and add the grated parmesan. Stir vigorously for 1-2 minutes until the cheese melts completely and the sauce turns glossy and coats every piece of pasta.
    1. FOR DAIRY-FREE VERSION: Pour in the coconut cream and add the nutritional yeast. Stir vigorously for 1-2 minutes until the sauce is smooth, rich, and coats every piece of pasta. It will not taste like coconut — the sun-dried tomatoes and garlic lead the flavour here.
    1. Add the fresh spinach in two or three handfuls, stirring after each addition. It will wilt down within 60-90 seconds and tuck itself right into the sauce. This is the part Anaya always peers into the pot to watch — the green disappearing into the cream is apparently fascinating if you are five.
    1. Taste and adjust salt and pepper. If the sauce feels too thick, add a splash of broth or water. If it feels too loose, let it sit on low heat for another minute — it thickens as it rests.
    1. Serve immediately, topped with fresh basil, extra parmesan (or extra nutritional yeast for the dairy-free version), and cracked black pepper. This one does not wait well — pasta this creamy is best eaten the moment it hits the bowl.

Nutrition

Nutrition information not yet available.

Tips

Before you start — a few things that’ll make this even better:

1. Use pasta with ridges or tubes. Penne, rigatoni, or fusilli work best here — the sauce gets inside and clings to every ridge. Smooth pasta like spaghetti or linguine will work in a pinch, but you’ll lose some of that saucy magic. Rigatoni is my personal pick.

2. Check your sun-dried tomato jar label. ⚠️ Allergen note: Some brands of sun-dried tomatoes in oil are processed on shared lines with tree nuts or contain sulphite preservatives. If you’re cooking for someone with a sulphite sensitivity or nut allergy, read every word on that label. The same goes for your broth — some vegetable broths contain celery, which is a declared allergen in Canada and the EU. I use PC Blue Menu low-sodium broth and Pacific Foods Organic — both work for our household.

3. Don’t skip the final stir. The last 2 minutes of stirring once you add your cream (dairy or dairy-free) are doing real work — they’re emulsifying the sauce so it’s silky instead of greasy or separated. Keep the heat low and keep stirring. That glossy, ribbon-coating sauce is the whole reward.

Budget note: This recipe runs about $8-10 Canadian for four servings using pantry staples. The sun-dried tomatoes are the biggest cost — I buy the big jar at Costco and it lasts months. Freeze individual portions in an airtight container for up to 2 months, though the texture is best fresh. Your future self on a chaotic Thursday will still appreciate it.