Preheat your oven to 350°F (175°C). Grease and flour the two 9-inch cake pans.
In a mixing bowl, whisk together the flour, baking powder, and salt. Set aside.
In another large mixing bowl, cream the softened butter and granulated sugar together using an electric mixer until light and fluffy, about 3-5 minutes.
Add the eggs one at a time, mixing well after each addition. Then, add the vanilla and peppermint extracts, and the green food coloring if using. Mix until combined.
Gradually add the dry ingredients to the butter mixture, alternating with the milk. Begin and end with the dry ingredients. Mix until just combined.
Divide the batter evenly between the two prepared cake pans.
Bake for 25-30 minutes or until a toothpick inserted into the center comes out clean. Allow the cakes to cool in the pans for 10 minutes, then transfer them to a cooling rack to cool completely.
While the cakes are cooling, prepare the frosting. In a mixing bowl, beat the softened butter until creamy. Gradually add the powdered sugar and beat until well combined.
Add the heavy cream and peppermint extract, mixing until light and fluffy.
Once the cakes are completely cool, place one layer on a serving plate. Spread a layer of frosting on top, then place the second layer on top. Frost the top and sides of the cake with the remaining frosting.
Garnish with crushed peppermint candies or candy canes on top of the frosting.