Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans or line them with parchment paper.
In a medium-sized bowl, whisk together the flour, baking powder, and salt. Set aside.
In a large mixing bowl, or in a stand mixer with the paddle attachment, cream together the softened butter and granulated sugar at medium speed or medium-high speed until light and fluffy.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
At a low speed, gradually add the dry ingredients to the butter mixture, alternating with the milk. Begin and end with the dry ingredients. Mix until just combined. Scrape down the sides of the bowl to make sure all the ingredients are incorporated.
Gently fold in the rainbow sprinkles.
Divide the cups of batter equally between the two prepared cake pans. Smooth into an even layer with a spatula.
Bake in the preheated oven for about 25 to 30 minutes or until a toothpick inserted into the center comes out clean.
Remove the cakes from the oven and let them cool in the pans for 10 minutes. Transfer them to a cooling rack to cool completely.
While the cakes are cooling on a wire rack, make the frosting. In a large mixing bowl, beat the softened butter until creamy. Gradually whip in the powdered sugar, milk, and vanilla extract. Beat until light and fluffy.
Once the cakes are completely cooled, place one cake layer on a serving plate. Using an offset spatula, spread a generous amount of frosting on top. Next, place the second cake layer on top and frost the entire cake with the remaining frosting.
Lastly, decorate the outside of the cake with additional rainbow sprinkles for that bakery finish!