Soak the dry navy beans in water for at least 8 hours (or overnight). This rehydrates them and reduces cooking time significantly. After soaking, drain and rinse the beans thoroughly under cold water. Transfer to a pot, cover with fresh water, and bring to a boil. Reduce heat and simmer for about 1 hour until the beans are tender but still hold their shape. Drain the cooked beans and set aside.
In a medium saucepan, combine the ketchup, tomato paste, vegetable stock, brown sugar, malt vinegar, vegetarian Worcestershire sauce, garlic powder, onion powder, salt, and smoked paprika. Whisk everything together over medium heat until well combined and the mixture begins to simmer. This allows the flavors to meld and the spices to fully incorporate into the sauce. I like to taste the sauce at this point and adjust seasoning as needed—a pinch more salt or vinegar can brighten the overall flavor.
In a small bowl, whisk the cornstarch with 2 tablespoons of cold water to create a slurry. Pour this mixture into the simmering sauce and stir continuously for 1-2 minutes until the sauce thickens noticeably. Add the cooked beans from Step 1 to the sauce and fold gently until everything is evenly coated. The sauce should coat the beans nicely without being too thin or too thick.
Preheat your oven to 350°F. Pour the bean mixture into a baking dish (a 9x13 inch dish or similar works well). Bake for 20-25 minutes until the sauce is bubbling at the edges and slightly darkened on top. I find that this final baking step helps the flavors deepen and creates a richer, more developed taste. Remove from the oven and let cool for a few minutes before serving—the beans will continue to thicken slightly as they cool.