Prep: Preheat oven to 350°F. Line a 12-cup muffin tin with cupcake liners.
Mix Dry: Whisk flour, baking powder, and salt in a small bowl.
Cream Butter & Sugar: In a large bowl, beat butter and sugar until light and fluffy (about 2–3 minutes).
Add Eggs & Vanilla: Mix in eggs one at a time, then add vanilla.
Alternate Dry & Milk: Add flour mixture and milk in alternating batches, starting and ending with flour.
Divide & Color: Split batter evenly into bowls and tint each with gel food coloring.
Layer & Swirl: Spoon small amounts of each color into liners, layering as you go. Use a toothpick to swirl.
Bake: Bake 18–20 minutes or until a toothpick comes out clean. Cool completely.
Make Frosting: Beat butter until smooth. Gradually add sugar, cream, vanilla, and salt. Whip until fluffy.
Decorate: Pipe or spread frosting on cooled cupcakes. Top with rainbow sprinkles!