Preheat your oven to 380°F (180°C) and line a 12-cup muffin tin with cupcake liners.
In a large bowl, cream the softened butter and sugar together until light and fluffy.
Beat in the eggs, with the vanilla extract.
Sift together the flour, baking powder, and salt.
Add the dry ingredients into tow phases, alternating with the milk. Mix until just combined (don’t overmix).
Divide the batter evenly into 5 small bowls. Add a different food coloring to each bowl (red, orange, green, blue, purple). Mix until the colors are vibrant and even.
Spoon a small amount of each colored batter into the cupcake liners, one color at a time, layering them in rainbow order. Gently spread each layer with a spoon before adding the next to keep colors separate.
Bake for 20–25 minutes, or until a toothpick inserted into the center comes out clean.
Let them cool completely before frosting.
In a chilled bowl, combine whipped cream, powdered sugar, vanilla, and a pinch of salt.
Whip until soft peaks form. Don’t over-whip—it should be light and fluffy.
Chill the frosting for 15 minutes before piping for firmer swirls.
Pipe or spoon the whipped cream frosting onto cooled cupcakes.
Top with rainbow sprinkles and rainbow candy for an extra magical touch.
Store cupcakes in the fridge if not serving immediately, especially with whipped cream frosting.