Preheat the oven to 350ºF and prepare a 12-cavity cupcake pan with non-stick cupcake liners.
In a blender or food processor, blitz the pistachios into a crumbly flour. This should take approximately 30-60 seconds. Set aside.
In a large mixing bowl combine the oil, sugar, eggs, vanilla extract, and almond extract. Whisk together until fully combined and smooth. If you are using green food coloring, add 1 drop at this point and mix until no streaks remain.
Add the flour, processed pistachios, baking powder, baking soda, and salt, and begin mixing.
While mixing, slowly pour in the milk. Whisk together until just combined. Be careful not to overmix.
Divide the batter into the prepared cupcake pan and bake for approximately 16-20 minutes.
Remove the cupcakes from the oven and allow to cool for 10 minutes in the pan before removing and placing them on a wire rack to cool.
In a stand mixer or large mixing bowl with electric beaters, combine the butter and cream cheese and beat together on high until light and fluffy. This should take approximately 5-10 minutes.
Add the powdered sugar, salt, and almond extract and mix on low until combined.
Turn the mixer to high and allow it to beat for 5 minutes.
Place in the fridge if not using right away.
Fit a piping bag with a Wilton 2D piping tip and fill the bag with the cream cheese buttercream.
Holding the piping bag vertically on the top of the cupcake, gently apply pressure to the bag and begin to pipe a swirl. The key to creating the ruffle-like effect is to pipe the swirl slowly and allow the frosting to fall into place instead of pulling it around and up.
Top with chopped pistachios and glittery sugar if using. Enjoy!
Store leftover cupcakes at room temperature for up to 5 days or frozen for up to 6 months.
