1. Preheat your oven to 350 degrees F. Prepare two 8 1/2 by 4 1/2-inch loaf pans by greasing them well.
2. For the topping, combine the ingredients in a small bowl using your fingers until the texture resembles wet sand. Set this mixture aside.
3. In a medium bowl, sift together the flour, baking powder, and baking soda. This helps to aerate the dry ingredients and ensures an even texture in your pumpkin bread.
4. In a large saucepan over medium heat, add the pumpkin puree, salt, cinnamon, nutmeg, and cloves. Stir the mixture frequently while cooking for about 6 to 8 minutes, until it reduces to about 1 1/2 cups. This step intensifies the flavors.
5. Remove the saucepan from heat. To the pumpkin mixture, add the granulated sugar, light brown sugar, oil, and pieces of cream cheese. Stir until well combined. Allow the mixture to cool for a few minutes; the residual heat will help melt the cream cheese, making it easier to blend.
6. In a small bowl, whisk together the eggs and buttermilk. Once combined, add this egg mixture to the pumpkin mixture and whisk until smooth.
7. Carefully fold the sifted flour mixture into the pumpkin mixture. Mix just until combined; it’s okay if there are a few small lumps of flour. Over-stirring can lead to a denser bread.
8. Gently fold in the walnuts, incorporating them evenly throughout the batter.
9. Divide the batter evenly between the two prepared loaf pans and sprinkle the topping mixture generously over the batter in each pan.
10. Bake in the preheated oven for 45 to 50 minutes. To check for doneness, insert a toothpick into the center of the loaf; it should come out clean. Once baked, allow the bread to cool in the pans for 20 minutes before transferring it to a wire rack. Let it cool completely for at least an hour and a half before slicing.