Preheat your oven to 350°F (175°C). Grease the loaf pan with butter or non-stick spray.
In a mixing bowl, combine the flour, sugar, baking powder, baking soda, salt, and ground cinnamon. Stir to mix well.
In another bowl, cream the softened butter until smooth. Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Gradually add the dry ingredients to the wet ingredients, mixing until just combined. Be careful not to overmix.
Gently fold in the cranberries and nuts (if using) until evenly distributed.
Pour the batter into the prepared loaf pan and smooth the top.
Bake in the preheated oven for 55-60 minutes or until a toothpick inserted into the center comes out clean.
Once baked, let the cranberry bread cool in the pan for about 10 minutes before transferring it to a wire rack to cool completely.