Preheat oven to 350°F and line a 9x5 loaf pan with parchment paper leaving at least an inch overhang on the long sides. Lightly spray the inside of pan with nonstick cooking spray.
In the bowl of a stand mixer fitted with the paddle attachment, cream together the softened butter and granulated sugar until fully combined well.
Add the eggs, one at a time, beating well after each addition and scraping sides of bowl as needed. Then mix in the vanilla extract.
Add the baking powder, cinnamon, salt and all purpose flour. Mix on low speed until just combined.
Add the milk and mix until fully incorporated being careful not to overmix the batter.
Scoop out about a tablespoon of walnuts from the ½ cup and set aside for the top of the bread. Fold in the cranberries and remaining walnuts until evenly combined.
Spoon the batter into the prepared loaf pan and spread it out into an even layer. Sprinkle top of bread batter with the chopped walnuts that were set aside.
Bake bread on center rack in preheated oven for 70-75 minutes until golden brown on top and edges or a toothpick or cake tester inserted in center of bread comes out clean.
Let bread cool in pan 15 minutes, then remove and cool completely.