Prep: Preheat oven to 180°C (350°F). Line a 12-cup muffin pan with cupcake liners.
Mix the dry ingredients: In a medium bowl, whisk together flour, baking powder, baking soda, salt, and ground pistachios. Set aside.
Cream butter and sugar: In a large bowl, beat the butter, sugar, and lemon zest for 2–3 minutes, until light and fluffy.
Add eggs and oil: Add the oil and mix to combine. Add eggs and mix well. Mix in the vanilla extract.
Add dry ingredients + buttermilk: Add the dry ingredients in two additions, alternating with the buttermilk: Dry → Buttermilk → Dry → Buttermilk. Mix just until combined. Do not overmix.
Bake: Divide the batter evenly between the cupcake liners (about ¾ full). Bake for 18–22 minutes, or until a toothpick inserted into the center comes out clean.
Allow cupcakes to cool completely before frosting.
Make the frosting: Mix the butter for 1 minute until smooth. Add cold cream cheese and beat just until combined (don’t overwhip).
Add powdered sugar, pistachio paste, and vanilla. Beat until smooth and creamy. Adjust texture (optional): Add 1–2 tbsp cream if you want it fluffier and softer.
Pipe: Transfer to a piping bag and swirl generously on cooled cupcakes.
Finish: Sprinkle chopped pistachios on top (optional).
