Preheat your oven to 350°F (175°C).
Line a 12-cup muffin tin with paper liners.
In a large bowl, whisk flour, sugar, baking powder, baking soda, and salt. Rub in the lemon zest and crushed lavender with your fingertips to release their oils.
In a separate bowl, whisk eggs, buttermilk, oil, lemon juice, and vanilla until smooth.
Pour the wet mixture into the dry ingredients. Stir gently until just combined; a few small lumps are fine. Do not overmix.
Divide the batter evenly among the liners, filling each about 2/3 full.
Bake for 16–19 minutes, or until the tops spring back and a toothpick comes out clean or with a few crumbs.
Cool in the pan for 5 minutes, then transfer to a wire rack to cool completely before frosting.
Make the frosting: Beat cream cheese and butter until creamy and smooth, about 2 minutes.
Add 2 1/2 cups powdered sugar, lemon juice, lemon zest, and a pinch of salt. Beat until fluffy, adding more powdered sugar if you want a thicker consistency.
Pipe or spread the frosting on cooled cupcakes. Garnish with a few lavender buds or a sprinkle of zest if you like.