Preheat oven to 350F (175C) and prepare two 8-inch pans by lining the bottoms with parchment paper and lightly greasing and flouring the sides.
In a large bowl, whisk together your flour, sugars, baking powder, baking soda, salt, cinnamon, and nutmeg.
Add your canola oil and melted butter and stir well.
Add eggs, one at a time, stirring well after each addition.
Stir in vanilla extract.
Stir in carrots and nuts (if using) until ingredients are well-combined.
Evenly divide carrot cake batter into prepared baking pans and bake on 350F (175C) for 40 minutes.
Allow cakes to cool in the pans for 10 minutes, then run a knife around the edge and invert onto cooling rack to cool completely.
Allow cake to cool completely before covering with cream cheese frosting.
Combine butter and cream cheese in a large bowl and use an electric mixer to beat until creamy, well-combined, and lump-free.
Add vanilla extract and sprinkle salt into the bowl and stir well to combine.
With mixer on low, gradually add powdered sugar until ingredients are completely combined.
Once your cake has cooled completely, cover with frosting.
