The rich, molasses-spiked flavor and tender texture of these old-fashioned Baked Beans from Scratch make them a true comfort food classic. They’re a perfect make-ahead dish for potlucks, barbecues, or any gathering.

I love a good canned bean recipe, but there’s nothing like a great big pot of baked beans from scratch. It’s the way my mom used to make them and that distinctive slow-cooked, molasses flavor takes me straight back to my family dinner table.
There’s a little more labor involved and definitely more time is required but the effort is so worth it. Trust me, anyone who has been in or near your house while these are cooking will be waiting anxiously to eat them. Beans from scratch cooking in the oven make your house smell incredible.
Table of contents

Ingredient Notes
- Beans: When making baked beans from scratch, it’s important to choose a variety that will hold its shape and absorb the rich, savory sauce. Any one of the following will work well—just pick your favorite:
- Navy Beans: The most popular choice for classic baked beans. These small beans hold their shape well and become tender and creamy after a long cook time.
- Great Northern Beans: Slightly larger than navy beans with a similar creamy texture. These are the beans pictured in this post.
- Pink Beans: A lesser-known but excellent option. They’re similar to pinto beans in flavor and texture and work beautifully in this recipe.
- Brown sugar: Light or dark brown sugar will work, but dark brown sugar adds a deeper molasses flavor if you want a richer result.
- Molasses: Use regular unsulphured molasses (like Grandma’s Original). Avoid blackstrap molasses—it’s too bitter for baked beans.
- Dijon mustard: Adds a subtle tang and helps balance the sweetness.
- Apple cider vinegar: A touch of acidity brightens the flavor and rounds everything out.
- Ham bone or bacon: Use one or the other—not both. A meaty ham bone adds smoky depth and richness. If you don’t have one, crumbled cooked bacon is a great substitute.
How to Make Baked Beans From Scratch

- Soak and simmer the beans. Use the overnight or quick soak method (see below for details), then simmer until the beans are just tender. Drain and reserve the cooking liquid.
- Combine ingredients. Add the beans back to the pot along with the onion, ketchup, molasses, Dijon, brown sugar, vinegar, salt, pepper, and 1 cup of the reserved liquid. Tuck in a ham bone (if using) and add a bay leaf.
- Bake low and slow. Cover and bake at 300 degrees F for 4½ to 5 hours, stirring occasionally. Add more reserved liquid during baking if the mixture looks dry.
- Finish and serve. Discard the bay leaf. If using a ham bone, remove it, shred any meat, and stir it back into the beans. Discard the bone and any excess fat. Taste and adjust seasoning as needed.
Overnight Soak: Rinse and sort the beans, then cover them with water in a large Dutch oven (about 2 inches above the beans). Cover and let them soak overnight. The next day, drain, add fresh water, and simmer for about an hour until just tender. Don’t forget to reserve the cooking liquid!
Quick Soak: Short on time? Rinse and sort the beans, bring them to a boil in a pot of water, then let them simmer for 3 minutes. Turn off the heat and let them sit for an hour. Drain, refill with fresh water, and simmer for 30 to 60 minutes until they start to soften. Again, reserve the liquid—it adds great flavor later on.
Tips for the Best Homemade Baked Beans
Reserve the cooking liquid: Reserving the water that the beans cooked in is a tip that I learned from my mom. The starchy water creates sauce with the best texture and flavor. Be careful not to add too much to avoid ending up with soupy baked beans. The sauce should be thick and cling to the beans.
Sweetness: How sweet or not sweet you like your beans is a very personal matter. Adjust the amount of sugar called for in the recipe to suit your taste. Then, taste and adjust the seasonings as needed before serving. You may need to add more salt, sweetness, or an extra splash of vinegar to suit your preferences.
Ham bone: To keep your the ham bone from your holiday ham nice and fresh until you are ready to use it, wrap the ham bone with meat attached tightly with plastic wrap and then with heavy duty foil or, even better, vacuum seal it. Pop it in the freezer and next time you’re ready to cook some beans, just thaw it out and you’re ready to go.
Substitutions: If you don’t have a leftover ham bone, you can substitute a ham hock purchased at the grocery store. Or omit it altogether and use cooked, crumbled bacon or a chopped ham steak for a meaty bite.
Stir occasionally: Stir the baked beans occasionally during cooking to prevent sticking and ensure even cooking.
Rest before serving: Allow the baked beans to rest for a few minutes before serving, as this will help the flavors to settle and meld even further and the sauce will continue to thicken slightly.

Storage and Reheating Tips
- Refrigerate: Transfer the cooled beans to an airtight container and refrigerate for up to 3 to 4 days.
- Freeze: When I made this batch, I doubled the recipe and used my vacuum sealer to seal up individual packets of the leftovers. No vacuum sealer? Just transfer them to any freezer-safe container, like plastic storage bags, and freeze them for up to 3 months.
- Reheating: Baked beans reheat well from the fridge or freezer. If frozen, let them thaw in the fridge overnight or run under warm water to loosen the container. Then, warm gently in a pot on the stove or in the microwave, adding a splash of water if needed to loosen the sauce.
More Bean Recipes You’ll Love
To learn how to pressure cook your beans to perfection, check out my recipe for Instant Pot Baked Beans and Instant Pot Mexican Pinto Beans.
My Calico Beans and Spicy Baked Beans are quick and easy canned bean recipes that I turn to over and over again for summer potlucks. Kielbasa Baked Beans are a hearty side dish or spoon them over rice for a delicious meal!
Sign up for my free newsletter for all the latest recipes and join me on Facebook, Instagram and Pinterest for more cooking inspiration!

Baked Beans from Scratch
Ingredients
- 1 pound package dry great northern, navy, or pink beans
- Lots of water
- 1 medium yellow onion, chopped
- 1 cup ketchup
- ⅓ cup brown sugar, packed (see notes below)
- ⅓ cup molasses
- 1 tablespoon Dijon mustard
- 1 tablespoon apple cider vinegar
- 1 ½ teaspoons salt, plus additional if desired
- 1 teaspoon freshly ground black pepper, plus additional if desired
- 1 bay leaf
- 1 meaty ham bone, omit if using bacon (see notes below)
- 4 slices thick-sliced bacon, cooked and crumbled (omit for ham bone)
Instructions
Overnight Soak Method
- Rinse and pick through beans removing any small pebbles or debris. Transfer beans to a large pot and pour in enough water to cover by about 2-inches. Cover the pot and let the beans soak overnight.
- The next day, drain the beans and cover with the same amount of fresh water. Bring to a boil, then reduce heat to low, cover the pot, and let simmer for 1 hour. Drain beans, reserving liquid.
Quick Soak Method
- Rinse and sort through the beans, place them in a large pot, and add enough water to cover them by about 2-inches. Bring to a boil then reduce the heat and simmer for 3 minutes. Remove from heat and let the beans stand for 1 hour. Drain and rinse the beans and return them to the pot. Add the same amount of fresh water and bring it to a boil once more. Then, reduce the heat and simmer for 30 to 60 minutes, or until the beans are beginning to get tender. Drain and reserve the cooking liquid.
To Cook The Soaked Beans
- Preheat oven to 300 degrees F.
- In a large oven safe pot, Dutch oven or baking dish, combine the soaked beans, 1 cup cooking liquid, onion, ketchup, brown sugar, molasses, mustard, apple cider vinegar, salt, pepper, bay leaf, and bacon (only add bacon if not using ham bone). Mix well. If using ham bone, tuck it into the beans. Cover and bake for 4 ½ to 5 hours or until the beans are very tender and sauce has thickened to desired consistency. Stir occasionally and add more of the reserved cooking liquid if needed during the cooking time.
- At end of cooking time remove and discard bay leaf. Transfer the ham bone (if using) to a cutting board and pull off any good meat with a fork and return it to the beans. Discard the bone and fatty meat. Taste beans adjust seasonings, if needed.
Notes
- Refrigerate: Transfer the cooled beans to an airtight container and refrigerate for up to 3 to 4 days.
- Freeze: When I made this batch, I doubled the recipe and used my vacuum sealer to seal up individual packets of the leftovers. No vacuum sealer? Just transfer them to any freezer-safe container, like plastic storage bags, and freeze them for up to 3 months.
- Reheating: Baked beans reheat well from the fridge or freezer. If frozen, let them thaw in the fridge overnight or run under warm water to loosen the container. Then, warm gently in a pot on the stove or in the microwave, adding a splash of water if needed to loosen the sauce.
Nutrition
Nutrition information is automatically calculated using generic ingredients, and is an estimate not a guarantee. For more accurate results, please refer to the labels on your ingredients at home.
Many recipes on the web use canned beans, so I was happy to find this recipe! Some comments mentioned that the beans were too sweet, so I used slightly less sugar. Your recipe is excellent, works very well – thank you for sharing!
How long will this be good for?
I recommend freezing any leftovers that aren’t consumed within three days.
I usually boil the ham one with the beans and then carve the excess meat off before mixing everything together. Makes sort of a ham/ bean stock of the water.
I found this recipe to sweet for my liking. Next time I will modify
I made the baked beans using pintos. Didn’t find your site in time. Used another site that said soak the beans for 1 hour, simmer the beans for another hour, then cook 45 minutes in oven with all the spices (ketchup, mustard etc). Expected the beans to be like canned (nice and soft), these beans are slightly hard to the bite, soft inside. Hate the way they came out! These beans were soaked, simmered, baked, put in a crock pot over night, and now I have them in the microwave. I haven’t nuked them with a bomb yet…… how the heck do I get these things soft? They taste good and I don’t want to waste a pound of beans. Other than a sledge hammer, how can I get them soft at this point??
Thanks Valerie I mess with everything I cook it seems trying to get the right blend. Beans from scratch is a favorite, and your recipe is perfect. I have my moms two handled bean pot. Miss her, my wife and I enjoy cooking and being retired we have time for these moments. I just tasted them and they are on their way to perfect thanks
I’m so glad the recipe worked well for you! Happy to know that you’re putting that bean pot to good use 🙂
I used Navy Beans just purchased at the supermarket and soaked them about 14 hours then brought them to a boil and then simmered for an hour before putting them in a bean pot in the oven for 8 hours and the flavor is spot on but the beans are a bit chewy. Should I soak them longer or boil them longer before putting them in the oven or sure I add more then a cup of liquid with the other ingredients initially?
Just tried the baked beans recipe and it was great. I jacked it up a bit. I added blended maple syrup,bourbon,red pepper flakes and basil.
Truth be told on second thought you ARE right about longer cooking for the beans. I found mine too hard after my agenda so put the pot back in for almost two more hours at 300 and end result much more baked bean friendly…
I use navy bean, I have made these twice and today for a third time . I soak over night and simmer for an hour and bake for 7 hours checking and adding liquid. I like them soft not mushy . Never had them mushy even when reheated. I freeze them too. I make double batches each time. I Love this’s recipe. I do not add the ketchup. Im not a fan of tomato flavor in my beans.
I would implore anyone to NOT cook the beans (particularly the smaller navy beans) for that hour before going in the oven for 4+ hours. Same concept as not pre-cooking pasta for baking; just cook it in the sauce. Part of the enjoyment eating beans (or most anything) is shape and texture, and with an overcooking recipe like this and you end up with a glob of refried beans on your fork v. distinct beans. An alternative is to pre-soak (2 cups) by putting the beans in a bowl of water then microwave for 5 minutes and let sit for an hour. Then do about half hour pre-bake simmer stovetop and before bake for max 2 hours. Guarantee no one is going to complain and the aroma will still waft around the house. Best of all, the beans will still have a little pop left to the bite, same as slightly al dente pasta. For mush just buy a can of baked beans!
I have to disagree with you on this, Matt. The most common problem my readers (and I think most others) have had when cooking beans from scratch is that they don’t get tender enough, as you can see from many of the comments on this post. These are age-old methods used by generations and generations of home cooks to ensure a tender (not mushy) result. You can easily gauge how softened the beans are towards the end of the cooking process and remove them from the oven when they are to your liking.
I just made these beans today, using navy beans, and after soaking overnight and cooking for the initial 1 hour, the beans were completely soft, and close to overcooked! I was so shocked! So as far as my limited experience goes, I have to agree with Matt. Next time I’m going to skip that initial 1 hour cooking.
Awesome recipe. I modified it slightly by soaking beans overnight, giving them a quick boil in chicken broth in morning then adding the beans and broth to the cooked bacon in the dutch oven and cooking for 6 hrs. Found the first time they were a little runny on the sauce so just took some sauce out and threw some of the beans in a blender , pureed them and added the puree back in to thicken the sauce.
I have found that waiting til the end to add any tomato flavoring like ketchup or bbq cuts the cooking time seriously in half. Something about the tomato keeps the beans from cooking as quickly. Great recipe!
Way way too sweet. Sorry I put all the brown sugar and molasses in. Waste of 2 lbs of beans.
Sorry to hear this, Linda. This is the level of sweetness we like here but it’s easy to scale it down to suit your taste.
Thanks for that tip! I just read a comment from someone on another recipe site that anything acidic will halt the cooking process of the beans.
If you soak the beans in advance of cooking (either method) this shouldn’t be a problem.