Step 1: Prepare the cake layers
- Preheat your oven to 350°F (175°C). Grease and flour two 9-inch (23 cm) round cake pans, or line them with parchment paper.
- In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
- In a large bowl, cream the butter, oil, and sugar until light and fluffy. Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
- Gradually mix in the dry ingredients, alternating with the milk, beginning and ending with the dry ingredients. Stir in the melted white chocolate until just combined.
- Divide the batter evenly between the prepared pans and bake for 25-30 minutes, or until a toothpick inserted in the center comes out clean. Let the cakes cool in the pans for 10 minutes, then transfer to a wire rack to cool completely.
Step 2: Make the pineapple filling
- In a medium saucepan, combine the drained crushed pineapple, sugar, cornstarch, and reserved pineapple juice.
- Cook over medium heat, stirring constantly, until the mixture thickens and becomes glossy. Remove from heat and let cool completely.
Step 3: Make the white chocolate frosting
- In a large bowl, beat the cream cheese and butter together until smooth and creamy.
- Add the melted white chocolate and vanilla extract, mixing until fully incorporated.
- Gradually add the powdered sugar, 1 cup at a time, and beat until smooth and fluffy.
Step 4: Assemble the cake
- Place one cake layer on a serving plate or cake stand. Spread a layer of pineapple filling evenly over the top.
- Place the second cake layer on top and spread the frosting over the top and sides of the cake.
- Decorate with additional crushed pineapple or white chocolate shavings, if desired.
Step 5: Serve
Refrigerate the cake for at least 1 hour before serving for easier slicing.