Smoky Baked Beans in Tomato Sauce

By Mila | Updated on May 14, 2025

Finding a reliable recipe for homemade baked beans that actually tastes better than the canned stuff can feel impossible. Most recipes either take all day to make, require a bunch of ingredients you don’t have, or end up tasting bland and disappointing despite all your effort.

That’s why I’m excited to share this recipe with you. These baked beans hit that sweet spot between being doable on a weeknight and tasting like you’ve been cooking all day. Plus, with bacon, garlic, and a touch of honey in the mix, they’re packed with flavor that store-bought beans just can’t match.

baked beans in tomato sauce
Image: theamazingfood.com / All Rights reserved

Why You’ll Love These Baked Beans

  • Made from scratch with real ingredients – Skip the canned stuff and make your own baked beans using dried beans and fresh herbs for a homemade taste that’s so much better than store-bought.
  • Rich, savory flavor – The combination of bacon, garlic, sage, and tomato creates a deep, satisfying sauce that makes these beans truly special.
  • Perfect for meal prep and gatherings – This recipe makes a big batch that’s great for potlucks, barbecues, or making ahead for the week. Plus, the flavors get even better the next day.
  • Customizable heat level – You control the spice by adjusting the chile flakes, so you can make it mild for kids or kick it up for those who like some heat.
  • Naturally gluten-free option – Just use gluten-free stock and you’ve got a dish that works for various dietary needs without sacrificing any flavor.

What Kind of Beans Should I Use?

This recipe gives you some flexibility with your bean choice – cannellini, borlotti, or Great Northern beans all work great. Cannellini beans are probably the easiest to find at most grocery stores and they have a nice creamy texture that holds up well during the long baking time. Great Northern beans are similar but slightly smaller, while borlotti beans (also called cranberry beans) have a bit more of a nutty flavor if you can track them down. Whichever type you choose, make sure to use dry beans rather than canned for this recipe, as they’ll absorb all those delicious flavors from the tomato sauce and bacon as they cook.

baked beans in tomato sauce
Image: theamazingfood.com / All Rights reserved

Options for Substitutions

This recipe is pretty forgiving when it comes to swaps, so here are some options if you need to make changes:

  • Dry beans: You can use any white bean variety – cannellini, Great Northern, or navy beans all work great. In a pinch, you could use 3 cans (15 ounces each) of pre-cooked beans, but skip the soaking step and reduce the cooking time significantly since they’re already tender.
  • Bacon or pancetta: Regular bacon works just fine if you can’t find pancetta. For a vegetarian version, skip the meat entirely and add a teaspoon of smoked paprika for that smoky flavor.
  • Fresh sage: Fresh rosemary is mentioned as a substitute, or you can use 1 teaspoon of dried sage if fresh isn’t available. Just add it earlier in the cooking process so it has time to soften.
  • Honey: Maple syrup, brown sugar, or molasses work well here. Start with 2 tablespoons and adjust to taste – molasses will give you a deeper, more traditional baked bean flavor.
  • Stock: Either beef or chicken stock works fine. You can even use vegetable stock if you’re going the vegetarian route, though the flavor will be a bit lighter.
  • Balsamic vinegar: Apple cider vinegar or red wine vinegar can step in if you don’t have balsamic. They’ll give you that tangy finish the dish needs.

Watch Out for These Mistakes While Cooking

The biggest mistake when making baked beans is skipping the bean soaking step, which can leave you with tough, unevenly cooked beans that never quite soften no matter how long you bake them – always soak overnight or use the quick-soak method with boiling water for at least an hour.

Another common error is not simmering the beans enough before baking, so make sure they’re already tender after that initial hour of cooking on the stovetop, or you’ll end up with crunchy beans in your finished dish.

Don’t forget to check the liquid level during baking – if your beans look dry, add a splash of stock or water to prevent them from drying out and sticking to the pot.

Finally, resist the urge to add the balsamic vinegar and parsley too early, as the acid can toughen the beans and the parsley will lose its fresh flavor, so stir them in right before serving for the best taste.

baked beans in tomato sauce
Image: theamazingfood.com / All Rights reserved

What to Serve With Baked Beans?

These baked beans are hearty enough to be a main dish, but they’re also perfect as a side for grilled meats like steak, pork chops, or barbecue chicken. I love serving them alongside cornbread or crusty bread to soak up all that rich tomato sauce – the combination is really satisfying. If you want to make it a complete meal, add a simple coleslaw or a crisp green salad on the side to balance out the richness of the beans. They’re also great for potlucks or cookouts since they can sit in a slow cooker and stay warm for hours while everyone helps themselves.

Storage Instructions

Store: These baked beans actually taste even better the next day after all the flavors have had time to meld together. Keep them in an airtight container in the fridge for up to 5 days, and they make a great side dish throughout the week.

Freeze: Baked beans are perfect for freezing! Let them cool completely, then portion them into freezer-safe containers or bags and freeze for up to 3 months. I like to freeze them in smaller portions so I can thaw just what I need.

Reheat: Warm the beans gently on the stovetop over medium-low heat, stirring occasionally and adding a splash of stock or water if they seem too thick. You can also microwave them in a covered dish, stirring every minute or so until heated through.

Preparation Time 65-75 minutes
Cooking Time 135-185 minutes
Total Time 200-260 minutes
Level of Difficulty Medium
Servings 7 servings

Estimated Nutrition

Estimated nutrition for the whole recipe (without optional ingredients):

  • Calories: 1900-2200
  • Protein: 90-110 g
  • Fat: 55-70 g
  • Carbohydrates: 290-320 g

Ingredients

For the beans:

  • 1 lb cannellini beans
  • 2 1/2 cups beef stock
  • 1/2 teaspoon salt

For the sauce base:

  • 2 tbsp olive oil
  • 1/4 lb bacon (cut into 1/2-inch pieces)
  • 1 medium onion (finely diced, about 1/4-inch pieces)
  • 4 garlic cloves, minced
  • 1 tbsp chopped fresh sage
  • 1 tsp chile flakes
  • 1 tsp smoked paprika
  • 3 tbsp honey
  • 1/3 cup tomato paste
  • 15 oz crushed tomatoes

For the finish:

  • 1/2 cup fresh parsley, chopped
  • 2 tbsp balsamic vinegar

Step 1: Prepare and Cook the Beans

  • 1 lb cannellini beans
  • water for soaking and cooking

Soak the cannellini beans overnight in water, or use the quick-soak method by bringing them to a boil for 2 minutes, then letting them sit covered for 1 hour.

Drain and rinse the beans, then place them in a pot covered with fresh water.

Simmer for 1 hour until the beans are tender but not falling apart.

Drain well before adding to the sauce—this removes excess starch and prevents the final dish from becoming too thick.

Step 2: Build the Aromatic Base with Bacon and Onions

  • 1/4 lb bacon
  • 1 medium onion

In an oven-proof pot, cook the bacon pieces over medium heat until crispy and the fat is rendered, about 5-7 minutes.

Remove the bacon and set aside, leaving about 2 tablespoons of fat in the pot.

Add the diced onion to the bacon fat and cook over medium heat until deeply caramelized, about 8-10 minutes, stirring occasionally.

I like to let the onions sit undisturbed for a minute or two between stirs—this develops a golden crust that adds real depth to the sauce.

Step 3: Create the Flavor Base with Aromatics and Spices

  • 4 garlic cloves, minced
  • 1 tsp chile flakes
  • 1 tsp smoked paprika
  • 1 tbsp chopped fresh sage
  • 1/3 cup tomato paste
  • 15 oz crushed tomatoes
  • 2 1/2 cups beef stock

Add the minced garlic to the pot and cook for 30 seconds until fragrant.

Stir in the chile flakes, smoked paprika, and fresh sage, cooking for another 30 seconds to bloom the spices.

Add the tomato paste and stir constantly for 1-2 minutes to caramelize it slightly in the pot—this intensifies its savory umami flavor.

Pour in the crushed tomatoes and beef stock, stirring well to combine all ingredients.

Step 4: Combine Beans with Sauce and Season

  • cooked beans from Step 1
  • reserved bacon from Step 2
  • 3 tbsp honey
  • 1/2 teaspoon salt

Add the cooked beans from Step 1 back to the pot along with the reserved bacon.

Stir in the honey and salt, then bring the mixture to a gentle simmer.

Taste and adjust seasoning as needed.

I find that the honey balances the acidity of the tomatoes and adds a subtle sweetness that rounds out all the savory spice flavors.

Step 5: Braise the Beans in the Oven

Cover the pot with a lid and transfer it to a 325°F oven.

Bake for 1 hour and 15 minutes, allowing the beans to slowly absorb the sauce flavors and the sauce to reduce slightly.

If the mixture looks too soupy after baking, remove the lid and bake uncovered for an additional 15 minutes to allow excess liquid to evaporate.

The beans should be tender and the sauce should coat them gently but not be watery.

Step 6: Finish with Fresh Herbs and Acid

  • 1/2 cup fresh parsley, chopped
  • 2 tbsp balsamic vinegar

Remove the pot from the oven and stir in the fresh parsley and balsamic vinegar.

The balsamic adds a subtle tang that brightens the rich tomato and bean flavors.

Let the beans rest for 5 minutes before serving to allow the flavors to meld together.

Smoky Baked Beans in Tomato Sauce

Delicious Smoky Baked Beans in Tomato Sauce recipe with step-by-step instructions.
Prep Time 1 hour 15 minutes
Cook Time 2 hours 35 minutes
Total Time 3 hours 50 minutes
Servings 7 servings
Calories 2050 kcal

Ingredients
  

For the beans

  • 1 lb cannellini beans
  • 2 1/2 cups beef stock
  • 1/2 teaspoon salt

For the sauce base

  • 2 tbsp olive oil
  • 1/4 lb bacon (cut into 1/2-inch pieces)
  • 1 medium onion (finely diced, about 1/4-inch pieces)
  • 4 garlic cloves, minced
  • 1 tbsp chopped fresh sage
  • 1 tsp chile flakes
  • 1 tsp smoked paprika
  • 3 tbsp honey
  • 1/3 cup tomato paste
  • 15 oz crushed tomatoes

For the finish

  • 1/2 cup fresh parsley, chopped
  • 2 tbsp balsamic vinegar

Instructions
 

  • Soak the cannellini beans overnight in water, or use the quick-soak method by bringing them to a boil for 2 minutes, then letting them sit covered for 1 hour. Drain and rinse the beans, then place them in a pot covered with fresh water. Simmer for 1 hour until the beans are tender but not falling apart. Drain well before adding to the sauce—this removes excess starch and prevents the final dish from becoming too thick.
  • In an oven-proof pot, cook the bacon pieces over medium heat until crispy and the fat is rendered, about 5-7 minutes. Remove the bacon and set aside, leaving about 2 tablespoons of fat in the pot. Add the diced onion to the bacon fat and cook over medium heat until deeply caramelized, about 8-10 minutes, stirring occasionally. I like to let the onions sit undisturbed for a minute or two between stirs—this develops a golden crust that adds real depth to the sauce.
  • Add the minced garlic to the pot and cook for 30 seconds until fragrant. Stir in the chile flakes, smoked paprika, and fresh sage, cooking for another 30 seconds to bloom the spices. Add the tomato paste and stir constantly for 1-2 minutes to caramelize it slightly in the pot—this intensifies its savory umami flavor. Pour in the crushed tomatoes and beef stock, stirring well to combine all ingredients.
  • Add the cooked beans from Step 1 back to the pot along with the reserved bacon. Stir in the honey and salt, then bring the mixture to a gentle simmer. Taste and adjust seasoning as needed. I find that the honey balances the acidity of the tomatoes and adds a subtle sweetness that rounds out all the savory spice flavors.
  • Cover the pot with a lid and transfer it to a 325°F oven. Bake for 1 hour and 15 minutes, allowing the beans to slowly absorb the sauce flavors and the sauce to reduce slightly. If the mixture looks too soupy after baking, remove the lid and bake uncovered for an additional 15 minutes to allow excess liquid to evaporate. The beans should be tender and the sauce should coat them gently but not be watery.
  • Remove the pot from the oven and stir in the fresh parsley and balsamic vinegar. The balsamic adds a subtle tang that brightens the rich tomato and bean flavors. Let the beans rest for 5 minutes before serving to allow the flavors to meld together.

Disclaimer: Our editorial team has used AI to create or enhance parts of this article. All content has been fact-checked by our team to ensure accuracy.

Leave a Comment

Recipe Rating