Preheat your oven to 350 degrees Fahrenheit and prepare baking sheets by lining with parchment paper. Set aside.
In a medium bowl, sift the flour, baking powder and salt together through a sifter or sieve at least twice. This will ensure ultra fluffy cookies.
Using a stand mixer or hand mixer, beat the butter on high speed until it's light and fluffy and very creamy.
Beat the sugar into the butter until the mixture is creamy.
Add the vanilla and egg, mixing just until combined.
With the mixer running on low speed, add the flour mixture slowly, mixing as you go. Stop mixing when no streaks of flour remain (don't forget to scrape down the bowl to ensure everything is incorporated!).
Using a 1-tablespoon sized cookie scoop or your hands, scoop out approximately tablespoon-sized amounts of dough and roll them into balls, placing them spaced out on the prepared baking sheets.
Flatten the dough balls down slightly with the palm of your hand or a flat-bottomed drinking glass or measuring cup.
Bake at 350 degrees Fahrenheit for about 9-10 minutes or until the cookies just lose their shine on top.
Let the cookies cool on the pans until they're firm enough to move to cooling racks to cool completely.
While the cookies are cooling, prepare the frosting by whipping the butter and powdered sugar together until smooth and creamy.
Beat in the vanilla and add the heavy cream one tablespoon at a time just until the frosting reaches the perfect thick-but-spreadable consistency.
Add some gel food colouring, if desired, and mix until the desired colour is reached.
When the cookies have cooled, use a small offset spatula or the back of a butter knife to frost the cookies with a generous dollop of frosting.
Top them with sprinkles and serve!