Place the navy beans into a large container and cover with several inches of cool water; let stand 8 hours to overnight. Or, bring the beans and water to a boil in a large pot over high heat. Once boiling, turn off the heat, cover, and let stand 1 hour. Drain and rinse before using.
Place the beans in a large saucepan with 4 cups of water. Bring to a boil over high heat, then reduce heat to medium-low, cover, and simmer 1 hour.
Preheat an oven to 375 degrees F (190 degrees C). Stir the ketchup, maple syrup, brown sugar, molasses, Worcestershire sauce, salt, pepper, and chili powder together in a small bowl; set aside.
Once the beans have simmered for 1 hour, drain, and reserve the cooking liquid. Pour the beans into a 1 1/2 quart casserole dish and stir in the chopped onion and the molasses sauce. Stir in enough of the reserved cooking liquid so the sauce covers the beans by 1/4 inch.
Cover, and bake in the preheated oven for 10 minutes, then reduce the heat to 200 degrees F (95 degrees C), and cook 6 hours longer. Stir the beans after they have cooked for 3 hours. Once the beans are tender and the sauce has reduced and is sticky, remove from the oven, stir, recover, and allow to stand 15 minutes before serving.
Source: Read Full Article