Begin by bringing all ingredients to room temperature for even mixing. Meanwhile, preheat your oven to 350°F (177°C) if using convection, or 325°F (163°C) for a conventional setting. Grease and line three 6-inch cake pans to prevent sticking and ensure easy release after baking.
In a medium bowl, whisk together the all-purpose flour, baking powder, and salt until the mixture is evenly distributed and lump-free. This ensures that the cake will rise evenly.
Place the room temperature unsalted butter, canola oil, and granulated sugar in a large mixing bowl. Using a stand mixer fitted with the whisk attachment, beat them together for 2 minutes until the mixture is light and fluffy. Add the eggs one at a time, mixing on medium speed until each egg is fully incorporated. Then, add the sour cream and vanilla extract, mixing just until everything is combined.
Add half of the flour mixture (from Step 2) to the wet ingredients (from Step 3), then mix on low speed just until combined. Pour in the milk while the mixer is running, followed by the remaining dry ingredients. Once mixed, gently fold in the chopped Oreo cookies, including only the larger chunks (reserve the tiny crumbs for another use). Evenly distribute the batter among the three prepared cake pans, approximately 14 oz per pan. Bake for 30–35 minutes, or until the cakes release from the edges of the pan and spring back when pressed lightly in the center. Invert onto a cooling rack and allow the cakes to cool completely before frosting. I always make sure the cake layers are fully cool—otherwise, the buttercream will melt!
Split 6 Oreos in half and place them in the heavy cream, allowing them to soak and infuse while you prepare the buttercream. In a food processor, finely grind 24 additional Oreos to create Oreo crumbs for the frosting.
In the bowl of an electric mixer fitted with the paddle attachment, beat the room temperature unsalted butter on medium-high speed until pale and fluffy, about 1–2 minutes. Add the salt and powdered sugar, and mix on low speed until just combined. Increase to medium-high speed and beat for at least five minutes, scraping the bowl occasionally, until the buttercream is light and smooth. Add the ground Oreo crumbs (from Step 5) and beat until well combined. Switch to the whisk attachment, then pour in the Oreo-infused heavy cream (from Step 5) and additional vanilla extract, beating for 2 more minutes until fluffy. I like to beat the buttercream extra long to ensure it’s super smooth and easy to spread.
Place the first cake layer on a flat surface and spread one-fourth of the buttercream (from Step 6) over it. Arrange a layer of the soaked Oreos (from Step 5) on top of the frosting, then cover them with a bit more buttercream. Repeat this process for the second cake layer, and place the third cake layer on top. Refrigerate the stacked cake for 30 minutes to firm it up before final frosting.
Spread the remaining buttercream over the top and sides of the chilled cake, using an offset spatula to work the frosting down the sides and a cake scraper to smooth the surface. Let the edge form a natural ridge at the top if desired. Generously top the cake with crushed Oreos and refrigerate for another 30 minutes before slicing and serving. For an extra crunch, I love to sprinkle a few more crushed Oreos over each slice just before serving.