Hearty Tomato and White Bean Whole-Wheat Pasta

Quick Recipe Version (TL;DR)

  • Yield: 4 servings
  • Prep Time: 10 minutes
  • Cook Time: 25 minutes
  • Total Time: 35 minutes

Quick Ingredients

  • 12 oz whole-wheat penne
  • 1.5 tbsp kosher salt (for boiling water)
  • 2 tbsp extra-virgin olive oil
  • 1 medium yellow onion, finely diced
  • 4 garlic cloves, minced
  • 1/2 tsp red pepper flakes (optional)
  • 1 tbsp tomato paste
  • 1 tsp dried oregano
  • 1 can (28 oz) fire-roasted diced tomatoes
  • 1 can (15 oz) cannellini beans, drained and rinsed
  • 5 oz baby spinach
  • 1/3 cup finely grated Parmesan, plus more to serve
  • 1 tsp sugar (optional, to balance acidity)
  • Kosher salt and freshly ground black pepper, to taste

Do This

  • 1. Boil pasta in 4 qt water with 1.5 tbsp salt until just shy of al dente; reserve 1 cup pasta water and drain.
  • 2. Sauté onion in olive oil over medium heat 5 minutes; add garlic and red pepper flakes, cook 30 seconds.
  • 3. Stir in tomato paste and oregano; cook 1 minute. Add diced tomatoes and optional sugar; simmer 8–10 minutes.
  • 4. Add cannellini beans; simmer 3–5 minutes to warm and slightly thicken.
  • 5. Toss in pasta with 1/2 cup reserved pasta water; add spinach and cook 1–2 minutes to wilt.
  • 6. Off heat, stir in Parmesan; season with salt and pepper. Adjust with more pasta water as needed. Serve hot with extra Parmesan.

Why You’ll Love This Recipe

  • Weeknight-fast but cozy and satisfying, ready in about 35 minutes.
  • High in fiber and protein thanks to whole-wheat pasta and creamy cannellini beans.
  • Bright, chunky tomato sauce with spinach for a pop of color and nutrition.
  • Family-friendly flavors, easily adjustable heat and richness.

Grocery List

  • Produce: 1 yellow onion, 4 garlic cloves, 5 oz baby spinach
  • Dairy: Parmesan cheese (block for grating)
  • Pantry: Whole-wheat penne, olive oil, red pepper flakes, tomato paste, dried oregano, 1 can fire-roasted diced tomatoes (28 oz), 1 can cannellini beans (15 oz), kosher salt, black pepper, sugar (optional)

Full Ingredients

Pasta and Sauce

  • 12 oz whole-wheat penne
  • 4 quarts water + 1.5 tablespoons kosher salt (for boiling pasta)
  • 2 tablespoons extra-virgin olive oil
  • 1 medium yellow onion, finely diced (about 1 cup)
  • 4 garlic cloves, minced
  • 1/2 teaspoon red pepper flakes (optional, for gentle heat)
  • 1 tablespoon tomato paste
  • 1 teaspoon dried oregano
  • 1 can (28 ounces) fire-roasted diced tomatoes, with juices
  • 1 teaspoon sugar (optional, to balance acidity)
  • 1 can (15 ounces) cannellini beans, drained and rinsed
  • 5 ounces baby spinach
  • 1/3 cup finely grated Parmesan cheese, plus more for serving
  • Kosher salt and freshly ground black pepper, to taste
  • Reserved pasta cooking water (start with 1/2 cup; you may use up to 3/4 cup)

To Serve (Optional)

  • Extra grated Parmesan
  • Drizzle of extra-virgin olive oil
  • Fresh basil or parsley, chopped
Hearty Tomato and White Bean Whole-Wheat Pasta – Closeup

Step-by-Step Instructions

Step 1: Boil the pasta

Bring 4 quarts of water to a rolling boil in a large pot. Stir in 1.5 tablespoons kosher salt, then add the whole-wheat penne. Cook over a lively boil until just shy of al dente, typically 2 minutes less than the package instructions (about 8–9 minutes for most brands). Reserve 1 cup of the starchy pasta water, then drain the pasta.

Step 2: Sauté the aromatics

While the pasta cooks, heat 2 tablespoons olive oil in a large deep skillet or Dutch oven over medium heat. Add the diced onion and cook, stirring occasionally, until softened and translucent, 5–6 minutes. Add the minced garlic and red pepper flakes (if using) and cook for 30 seconds more, just until fragrant.

Step 3: Build the tomato base

Stir in the tomato paste and dried oregano; cook for 1 minute, stirring, to caramelize the paste slightly. Add the fire-roasted diced tomatoes with their juices and the sugar (if using). Bring to a simmer over medium heat, then reduce to medium-low and simmer gently, uncovered, for 8–10 minutes to thicken and concentrate the flavors. Taste and season with a pinch of salt and pepper.

Step 4: Warm the beans

Add the drained, rinsed cannellini beans and simmer for 3–5 minutes to warm through. For a creamier texture, lightly mash a small handful of beans against the side of the pan and stir them back into the sauce.

Step 5: Marry the pasta and sauce

Add the drained penne to the skillet along with 1/2 cup reserved pasta water. Toss over medium heat for 1–2 minutes so the pasta absorbs the sauce. The sauce should cling to the ridges of the penne and look glossy; add an extra splash of pasta water if it looks tight.

Step 6: Wilt the spinach and add Parmesan

Add the baby spinach and toss until just wilted, 1–2 minutes. Remove the pan from heat and stir in 1/3 cup finely grated Parmesan until creamy. Taste and adjust salt and pepper as needed. If you prefer a looser sauce, add a little more reserved pasta water, a tablespoon at a time.

Step 7: Plate and serve

Divide the pasta among warm bowls. Finish with extra Parmesan, a drizzle of good olive oil, and chopped basil or parsley if you like. Serve hot.

Pro Tips

  • Reserve pasta water before draining; its starch turns the sauce silky and helps it cling to the penne.
  • Fire-roasted diced tomatoes add a subtle smokiness; regular diced tomatoes work too, but taste and adjust seasoning.
  • Lightly mashing some beans thickens the sauce naturally without cream.
  • Grate Parmesan finely so it melts smoothly; add off heat to prevent clumping.
  • Cook pasta just shy of al dente; it will finish in the sauce and absorb flavor.

Variations

  • Herby: Stir in 1/4 cup chopped fresh basil and 2 tablespoons chopped parsley at the end for a bright finish.
  • Cheesy: Add 2 ounces low-moisture mozzarella (small cubes) with the spinach for extra stretch.
  • Spicy: Double the red pepper flakes or swirl in a teaspoon of Calabrian chile paste with the tomato paste.

Storage & Make-Ahead

Refrigerate leftovers in an airtight container for up to 4 days. Reheat gently on the stovetop over low to medium heat with a splash of water to loosen, or microwave in 60-second bursts, stirring in between. For best texture, freeze the sauce (without pasta or spinach) up to 3 months; thaw and reheat, then add freshly cooked pasta and spinach when serving.

Nutrition (per serving)

Approximate: 520 calories; 20 g protein; 84 g carbohydrates; 9 g fat; 13 g fiber; sodium will vary based on salt and tomatoes used.

Promotional Banner X
*Sponsored Link*