Butter 2 9-inch round cake pans and line them with a circle of parchment.
In a small bowl, whisk together the 3 ½ cups gluten free flour , 3 teaspoons baking powder , and 1 teaspoon fine sea salt.
In a large bowl and using an electric mixer on medium speed, cream the 1 cup unsalted butter, scraping down the sides of the bowl as necessary, until the butter is lighter in color, about 45 seconds. Then add the 2 cups granulated sugar in a steady stream and scrape down the bowl again. Continue to mix on medium speed until the mixture is very light in color and texture, about 4 to 5 minutes.
Add the 4 eggs one at a time, then beat very well for about 2 minutes. Beat in the 2 teaspoons pure vanilla extract.
With the mixer on low, add the flour mixture in two doses, alternating with the 1 cup whole milk. Scrape down the sides of the bowl in between additions.
Preheat the oven to 350°F. Pour the batter into the prepared pans, smoothing the tops. Rest the batter while the oven heats, then place the cake in the oven and bake for 35-45 minutes, or until a toothpick inserted in the center comes out clean. Check after 35 minutes; you want the cake to lightly spring back in the center when pressed.
Remove cake rounds from the oven and set on a rack to cool for 10 minutes. Run a butter knife around the side of the pan to loosen the cake, then turn out onto the rack to finish cooling completely.
Make Frosting and Assemble
In a large bowl, using an electric mixer, whip the 1 cup unsalted butter. Add the slightly cooled 6 ounces semisweet chocolate and mix to combine. Add 1 tablespoon 1-2 teaspoons whole milk. Add 1 cup powdered sugar and mix. Add more milk or sugar as desired for consistency.
To assemble the cake, place one cake layer on a serving plate. (I like to chill my layers in the fridge, well wrapped for a few hours or up to overnight.) Spread one layer with about one-third of the frosting, then top with the other cake layer. Use the remaining frosting to cover the cake. Alternatively, split each layer in half and portion the frosting accordingly to fill each layer.
Cake should be served at room temperature-cool room temperature. It will last up to 5 days in the fridge.
Notes
Rest the batter - All gluten-free batters benefit from resting the batter for at least 20 minutes before baking (or do this while the oven preheats). Place the cake batter in the pans, cover them loosely with plastic or a clean cloth, and rest for up to 30 minutes to hydrate the flour.
Refrigerate the cake. When I make a layer cake, I bake the cake the day before and let it rest overnight in the fridge so it's very easy to frost and/or split the layers. The morning of the day I plan to serve it, I'll fill and frost the cake and let it rest again in the fridge until about an hour before serving to let the flavors fully develop and the frosting set. You can use the base cake recipe for any iteration of a layer cake along with your favorite fillings and frostings. Each layer also slices in half beautifully, so you can do a four-layer cake if you wish (like what's shown in the photos).
Do a crumb coat! Even if you've refrigerated the cake, a crumb coat is always a good idea. What's a crumb coat? This means that you'll cover the filled cake with a thin layer of icing and let it sit in the fridge for about 5-10 minutes until it firms up. This will prevent unsightly cake crumbs from messing up the frosting. When the crumb coat frosting layer is firm, go ahead and finish frosting the cake.
To make dairy-free - Use your favorite non-dairy butter and milk for the butter and whole milk.