Preheat the oven to 300 degrees F. Generously grease a large (10-inch) Bundt pan with butter and set aside.
Sift together the flour, baking powder and salt in a medium bowl and set aside. In the bowl of an electric mixer fitted with a paddle attachment, cream together the butter, sugar and vegetable shortening until light and fluffy. In a large liquid measuring cup, combine the milk, vanilla, eggs and almond extract if using. Stir to combine. Add the flour mixture and milk mixture to the butter mixture, alternating between the dry and wet ingredients in three parts, starting and ending with the dry. Fill the prepared pan with the batter.
Bake for 15 minutes. Increase the oven temperature to 325 degrees F and bake until the cake is warm golden brown and pulls away from the sides of the pan, or a tester inserted in the center comes out clean, an additional 45 minutes. Remove to a rack to cool for 10 minutes. Invert the cake onto a rack to cool completely, at least 20 minutes.