Sweet and spicy pasta sauce with cannellini beans is a rich, hearty tomato sauce made with sweet bell pepper, carrot, shallot, and creamy white beans, seasoned with oregano and red pepper flakes. It comes together in 30 minutes, is naturally vegan and gluten-free, and works beautifully with pasta, zucchini noodles, eggs, or potatoes.

There's something special about the balance of creamy beans in a sweet and tangy tomato sauce seasoned just right. It always reminds me of cozy meals shared with family — the kind of dinner that feels like more effort than it actually is.
Like my Pasta With Peas or Creamy Pumpkin Pasta, this sauce is plant-based, vegan, and gluten-free depending on what you serve it with. It's also one of my favorite meal-prep sauces. Make a big batch on Sunday, and you're set for the week. Let's make it!
Why You'll Love This Recipe
- Quick and easy: This white bean tomato sauce comes together in just 30 minutes with one pot, making it a reliable weeknight dinner that never feels like a compromise.
- Vegan and nutrient-rich: Loaded with fresh vegetables and creamy cannellini beans, it's a plant-based sauce that's genuinely satisfying and filling without any meat or dairy.
- Beautifully balanced flavors: The sweetness of the bell pepper and carrot, the tang of the tomatoes, and the gentle heat from the red pepper flakes all work together in a way that makes this sauce taste like it's been simmering all day.
- Meal-prep friendly: It stores well in the fridge for up to five days and freezes beautifully, so it's worth making a full batch every time.
Ingredients & Notes
Here's what you need to make this white bean tomato pasta sauce.

- Extra virgin olive oil: Adds richness to the sauce. Use a quality oil you love and drizzle a little extra over the finished dish for depth of flavor.
- Garlic: Fresh garlic is key here. Three large cloves give the sauce a proper aromatic base without overpowering it.
- Red bell pepper and carrot: These two vegetables add natural sweetness and depth, complementing the tangy tomatoes. Use red or orange pepper — avoid green, which can taste bitter in this sauce.
- Shallot: Shallots add an incredible aroma when briefly sautéed with the vegetables. White onion works just as well if that's what you have.
- Strained tomatoes: Go for the freshest bottled or canned tomatoes you can find. I love Bionaturae's strained tomatoes. They have no added salt or sugar, and the flavor is exceptional. I also use this brand in my Tender Italian Meatballs in Tomato Sauce.
- Cannellini beans: One can of no-salt-added cannellini beans, drained. A tablespoon gets blended into the sauce for natural creaminess; the rest are stirred in whole. These protein-rich beans make the sauce genuinely filling. I also use them in my Butternut Squash Zucchini Soup.
- Fresh basil: A handful of torn basil leaves stirred in at the end brightens and lifts the whole sauce.
- Italian seasoning: Dried oregano, red pepper flakes, and salt give this sauce its traditional Italian character and a gentle, warming heat.
How To Make It

Step One — Warm two tablespoons of olive oil in a large pot over medium heat. Add the minced garlic and cook for about 10 seconds, stirring, just until fragrant. Don't let it brown.
Step Two — Add the bell pepper, carrot, and shallot. Season with half a teaspoon of salt and cook, stirring occasionally, for about five minutes until the vegetables have softened.
Step Three — Stir in the strained tomatoes and a small splash of water. Season with the remaining salt, dried oregano, and red pepper flakes. Stir to combine. Bring the sauce to a gentle simmer, then reduce the heat to medium-low. Cover partially and let it simmer for 15 minutes, stirring occasionally, until the vegetables are completely soft.

Step Four — Remove from the heat and let the sauce cool for a couple of minutes. Carefully transfer to a blender, add one tablespoon of cannellini beans, and puree until smooth and creamy.
Step Five — Return the pureed sauce to the pot over low heat. Stir in the remaining cannellini beans, the torn basil leaves, and two teaspoons of olive oil. Cook for another five minutes to let everything come together over medium-low heat. Taste and add more red pepper flakes if you'd like more heat.
Step Six — Store or serve with your favorite pasta, such as capellini or spaghetti, cooked al dente. For a gluten-free or low-carb option, enjoy it over soft-boiled (sweet) potatoes, roasted vegetables, or zucchini noodles. Or serve on the table with crostini bread.

Top Tips
- Build the flavors: A great tomato sauce is all about those initial steps. Give the garlic, vegetables, and seasoning time to develop their aroma before adding the tomatoes.
- Don't brown the garlic: Keep a close eye on it. Browned garlic can turn the sauce sour and affect the whole dish.
- Blend carefully: Always let the sauce cool for a couple of minutes before transferring to the blender. A hand blender can splash; a countertop blender gives a smoother result and keeps the kitchen cleaner.
- Don't rush the simmer: Fifteen minutes is all it takes, but don't cut it short. That's where the flavors meld, and the vegetables fully soften.
- Balance the sweetness: The vegetables and tomatoes add natural sweetness. Dried oregano and red pepper flakes balance it out. Taste before serving and adjust the heat to your liking.
- Quality matters: This is a short ingredient list, so the quality of your olive oil and canned tomatoes really does make a difference. So, choose the quality ingredients you love.
Variations & Substitutions
- Types of white beans: Navy beans, butter beans, or Great Northern beans all work well for a slightly different texture.
- More heat: Add extra red pepper flakes at the end, or swap for red chili flakes if you like it spicier.
- Make it cheesy: Stir in grated Parmesan or a plant-based alternative just before serving for a rich, cheesy white bean tomato sauce.
- Fresh herbs: Swap the basil for sage leaves or a sprig of thyme for a more earthy, wintry flavor.
- Add greens: Stir in a handful of fresh kale or spinach when the sauce is ready and let it wilt for a more substantial, nutrient-packed dish.
Meal Prep & Storage
This sauce is made for meal prepping. Store it in an airtight container in the fridge for up to five days, or freeze for up to three months. Reheat gently over low heat, stirring occasionally. Leftovers taste even better the next day once the flavors have had time to settle.
Serving Suggestions
This white bean tomato sauce is more versatile than it looks. Here are a few of my favorite ways to use it:
- (Gluten-free) pasta or spiralized zucchini noodles topped with grated Parmesan or a vegan alternative.
- Boiled or oven-baked potatoes — it works beautifully with sweet potatoes too.
- Eggs for a quick lunch: When reheating, crack one or two eggs directly into the simmering sauce and cook until just set. Serve with toasted bread or a green salad.
- Baked or sautéed cod: If you have leftovers, this sauce adds incredible depth of Italian flavor to white fish.
More Italian Recipes To Try Next
Made this? Tell me how it went in the comments and leave a star rating below. I love to hear from you. And don't forget to subscribe to my monthly newsletter! — Mariska
📖 Recipe

Sweet and Spicy Pasta Sauce With Creamy Cannellini Beans (Vegan, Gluten-Free)
Mariska RamondinoEquipment
- 1 Large pot or deep skillet with lid (at least 4 qt / 3.9 L)
- 1 Blender (countertop recommended over hand blender to avoid splashing)
- 1 Ladle (for transferring sauce to blender)
Ingredients
- 2 tablespoons extra virgin olive oil plus 2 teaspoons, separated
- 3 large cloves garlic minced or chopped
- 1 large red bell pepper, cored and chopped 162 grams
- 1 large carrot 85 grams
- 1 large shallot or yellow onion, chopped 130 grams
- 1 teaspoon salt or more to taste, separated
- 1 can strained tomatoes, no salt or sugar added 24 ounces or 680 grams
- A tiny splash of water optional
- 1 teaspoon dried oregano
- ½ teaspoon or up to 1 teaspoon red pepper flakes or more to taste
- 1 can Cannellini beans, no salt added and drained 13.4 ounces or 380 grams
- 5-6 large fresh basil leaves torn
Instructions
- Warm two tablespoons of olive oil in a pot over medium heat. Add the garlic. Cook and stir for about 10 seconds to release its aroma.2 tablespoons extra virgin olive oil, 3 large cloves garlic
- Then add the bell pepper, carrot, and the onion—season with ½ teaspoon of salt. Cook and stir occasionally for 5 minutes, and until the veggies are somewhat softened.1 large red bell pepper, cored and chopped, 1 large carrot, 1 large shallot or yellow onion, chopped, 1 teaspoon salt or more to taste, separated
- Add the strained tomatoes and just a tiny splash of water. (If using bottled strained tomatoes, fill the emptied bottle with a splash of water. Reseal it, then shake it enough to loosen any remaining tomatoes. Pour into the skillet.)1 can strained tomatoes, no salt or sugar added, A tiny splash of water
- Season with ½ teaspoon salt, oregano, and red pepper flakes. Stir to combine.1 teaspoon dried oregano, ½ teaspoon or up to 1 teaspoon red pepper flakes
- Let the sauce come to a simmer. Then reduce the heat to medium-low and let the sauce gently simmer, half covered, for 15 minutes or until the vegetables are soft. Stir occasionally.
- Remove the pot from the stove and let it cool slightly for a few minutes. Carefully transfer the sauce to a blender. Add one tablespoon of cannellini beans and puree it.1 can Cannellini beans, no salt added and drained
- Carefully transfer the pureed sauce back into the same pot and place over low heat. Stir in the rest of the beans, the basil leaves, and two teaspoons of olive oil. Cook and stir for 5 minutes to allow the flavors to come together.5-6 large fresh basil leaves
- Taste test and season with more red pepper flakes for a spicier touch.
- Serve with capellini pasta, cooked al dente, crostini bread, roasted vegetables, zucchini noodles, eggs, or soft-boiled (sweet) potatoes.
Notes
- Always handle the hot sauce carefully when removing it from the stove for blending. Allow it to cool for a couple of minutes before you blend, and I recommend a blender over a hand mixer to avoid the red sauce from splashing.
- When blending the tomato sauce, add one tablespoon of white beans to the blender. This adds a natural creaminess that's full of flavor without the heaviness.
- Don't rush the sauce's simmering. Allow the flavors to come together, even if it's just for 15 minutes.
- I always add a splash of water to the emptied tomato bottle or can—just enough to swirl it around and catch any leftover tomato sauce. Then, I add this to the sauce as well.
- The veggies and tomatoes add sweetness, so balance it with herbs like dried oregano. Red pepper flakes give it a slight kick. Feel free to stir in some more, based on personal taste, to increase the sauce's heat before serving.
- Although this is a simple recipe, the quality of the olive oil and canned tomatoes make the sauce. So, choose quality ingredients you love.
- Make ahead: You can make white beans in tomato sauce in advance and store the sauce in an airtight container in the fridge for up to five days. The sauce also freezes well for up to three months.
- Reheating: Simply reheat over slow heat.
- Leftovers: Store leftovers in an airtight container for easy meal prep throughout the week in the fridge.
Add your own private notes
Whenever you come back to this recipe, you’ll be able to see your notes.
Nutrition (% Daily value)
Disclaimer: This nutritional data is calculated using third party tools and is only intended as a reference.






Leave a Reply