Preheat oven to 350°F. Grease and flour three 8-inch round cake pans and line bottoms with parchment paper.
In a medium bowl, whisk together flour, baking powder, and salt.
In a large bowl, beat 1 cup butter and granulated sugar until light and fluffy, about 3 minutes. Add eggs one at a time, beating well after each. Beat in vanilla and almond extracts.
Alternately add flour mixture and milk to butter mixture, beginning and ending with flour. Mix just until combined.
Divide batter evenly among prepared pans. Bake for 25-35 minutes, until a toothpick inserted in center comes out clean. Cool in pans 10 minutes, then turn out onto wire racks to cool completely.
For frosting: In a large bowl, beat 1 1/2 cups butter until creamy. Gradually add confectioners' sugar, beating on low. Add cream, vanilla, and salt; beat on high until light and fluffy, about 3 minutes.
Level cake layers if needed. Place one layer on a cake board, spread with about 1/2 cup frosting. Repeat with remaining layers. Crumb coat the entire cake with a thin layer of frosting; refrigerate 30 minutes.
Frost cake with remaining buttercream, smoothing with a bench scraper. Decorate as desired.
Tips
For best results, ensure all ingredients are at room temperature.
To make ahead, wrap cooled cake layers tightly in plastic wrap and freeze for up to 2 months.
This recipe yields enough batter for one 8-inch tier; scale up for larger tiers.