Preheat oven to 350°F. Line muffin tin with cupcake liners. Set aside.
In medium size bowl combine the flour, baking powder, baking soda, and salt. Whisk the dry ingredients together to incorporate. Set aside.
In mixing bowl add the room temperature butter. Beat on medium speed for about 1 minute to loosen up the butter, add in the sugar and beat on medium speed for about 2-3 minutes to cream the butter and sugar together until light and fluffy. *More information on this in the post
Add in the vanilla extract and add in the eggs one at a time, mixing in between.
Mix in the greek yogurt. Remove the bowl from the stand mixer.
Slowly add in 1/3 of the dry ingredients, then 1/3 of the milk. Mix with a rubber spatula gently, just until most of the flour is incorporated, not fully mixed. Continue with this method until all the milk and dry ingredients are added. Gently stir the batter to incorporate all the dry ingredients, it's ok if there's some lumps in the batter. Don't overmix.
Scoop the batter into the cupcake liners filling them about 2/3 full.
Bake for 15-16 minutes until fully cooked, tops will be golden and a toothpick inserted into the center will come out clean.
Allow to cool in the tin for 2-3 minutes and then carefully remove cupcakes to continue cooling on a wire rack.
In mixing bowl beat the cream cheese on medium for about a minute to loosen it up. Add in the powdered sugar and mix, start on slow and increase speed as the powdered sugar is mixed with the cream cheese. Mix until smooth.
Add in the heavy cream and the vanilla extract. Mix on medium speed until fluffy and forming into stiff peaks.
Add to piping bag and pipe onto cooled cupcakes.
Serve and enjoy!
Make sure you read all the tips and tricks throughout the post to ensure you bake the best cupcakes possible!