In a mixing bowl, combine the flour, baking soda, baking powder, salt, cinnamon, allspice, and nutmeg. Whisk together and set aside. In a separate mixing bowl, combine the sugar, vegetable oil, and eggs. Whisk together until combined. Whisk in the apple butter and buttermilk until smooth.
Add the dry ingredients to the wet ingredients and whisk together just until combined. Do not over mix the batter at this stage. Spray a 9x5x2.75-inch loaf pan with non-stick spray. Pour the batter into the loaf pan and smooth the surface.
Preheat the oven to 350°F. Bake the loaf for 50 to 60 minutes until a toothpick inserted into the centre comes out clean and the top of the loaf springs back at the touch. Transfer the loaf pan to a rack and let cool for 5 to 10 minutes. Run a knife around the edges of the loaf and tip out onto the rack. Allow the loaf to cool completely before frosting.
For the frosting, add the softened butter and icing sugar to a mixing bowl. Use a beater to cream the butter into the icing sugar. It will look dry and crumbly which is normal. Beat together until all the butter has been blended into the icing sugar and it resembles crumbs.
Cut the cold cream cheese into cubes and add to the mixing bowl. Beat until the cream cheese has fully combined and the frosting is thick and creamy. Add the apple butter and beat until combined.
Top the cooled loaf with the cream cheese frosting. Spoon over a bit more apple butter and swirl decoratively into the frosting. This loaf should be refrigerated if keeping overnight. Enjoy!