Preheat your oven to 350°F (175°C). Grease and flour your loaf pan.
In a mixing bowl, whisk together the flour, sugar, baking powder, baking soda, salt, and cinnamon until well combined.
In another bowl, cream the softened butter until light and fluffy. Add eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Gradually add the buttermilk to the butter mixture, mixing until combined.
Slowly add the dry ingredients to the wet ingredients, stirring gently until just combined. Do not overmix.
Fold in the chopped cranberries and walnuts until evenly distributed.
Pour the batter into the prepared loaf pan, smoothing the top with a spatula.
Bake in the preheated oven for 50-60 minutes, or until a toothpick inserted in the center comes out clean.
Once done, remove from the oven and let it cool in the pan for about 10 minutes before transferring to a wire rack to cool completely.