Preheat the oven to 350 degrees with an oven rack in the center.
Butter and flour 10 mini Bundt pans or 1 large Bundt pan. Tap out excess flour.
In a small bowl, whisk together flour, baking powder, and salt.
Using an electric mixer with a paddle attachment, beat butter and almond paste on medium speed until smooth, 1 to 2 minutes.
Add sugar and beat until light and fluffy, about 2 minutes.
Beat in eggs 1 at a time, stopping between each addition to scrape down sides of bowl.
Beat in vanilla.
Turn mixer to low speed and add in flour mixture and milk, beginning and ending with flour mixture. Stop mixer halfway through to scrape down sides of bowl.
Turn mixer to medium speed and beat until batter is smooth, about 20 seconds.
Fold in cranberries.
Spoon batter into prepared pans (or pan) and spread evenly with a rubber spatula.
Bake until a wooden pick inserted in center comes out clean, about 20 minutes for small cakes and 40 to 50 minutes for large cake.
Place pan on a rack to cool for 20 minutes. Invert pan onto rack to remove cakes.
For frosting, using an electric mixer with whisk attachment, beat mascarpone, heavy cream, and amaretto until combined and smooth.
With mixer on low add in confectioners' sugar then turn to medium-high until thickened. Place in a pastry bag and fill centers of cakes with frosting. If making a large cake, top each slice with a mound of frosting when serving.
Dust with powdered sugar.
Notes
Cakes can be wrapped in plastic wrap and stored at room temperature. Frosting should be refrigerated until ready to serve.