Preheat oven to 350°F. Line the bottoms of two 8" or 9" round cake pans with parchment, and spray the sides with oil then lightly coat with flour, tapping out any excess.
Sift 1 cup all-purpose flour, 1 cup whole wheat flour, 1 ¾ cup sugar, 3/4 cup Dutch-processed cocoa powder, 1 teaspoon baking powder, and 1 teaspoon salt into the bowl of a stand mixer. Add 1/2 cup (1 stick) softened unsalted butter and mix on low speed until the mixture is crumbly.
Add 3 Tablespoons canola oil, 2 large eggs, and 1 teaspoon vanilla extract and mix slightly. Mix in ¾ cup finely grated roasted beets. Slowly pour in 1 ¼ cup hot water while mixer is on low speed. When it has all been added, turn mixer to medium-high and mix for 2-3 minutes, until thick and fluffy. Divide between the two prepared pans.
Bake until a toothpick inserted into the center comes out clean, about 35 minutes. Cool in pans for 30 minutes, then remove from pans and cool completely on a wire rack.
For the Frosting
Melt 1/2 cup unsalted butter in a medium saucepan. Stir in 1 cup sugar and 3/4 cup Dutch-processed cocoa powder (mixture will be very thick and resemble dough). Continue to stir over medium heat until it begins to bubble; stir in 3/4 cup whipping cream. Whisk until the mixture comes to a simmer, then keep whisking for another minute. Remove from heat and stir in 1 teaspoon vanilla extract and 1/2 teaspoon salt.
Cool to room temperature, then refrigerate for at least an hour. Remove from fridge a few minutes before frosting the cake, and stir.
To assemble
Remove parchment from the cake. Spread 1/3 of the frosting on the top of one of the cakes. Place the second cake on top. Spread the remaining frosting over the top and sides of the cake. Cut into small slices to serve.
Notes
You can replace Dutch-processed cocoa with regular/natural cocoa powder if that's all you have, but the resulting cake will be a little lighter in color.