Pulse pistachios in a food processor or blender until reduced to a powder (some small chunks are ok but not so much as it turns into a paste). Scrape into a bowl with 2 tablespoons caster sugar. Drizzle with 3 tablespoons melted butter; stir with a fork until mixture starts to clump. Pulse cranberries in the food processor or blender (no need to clean it first) until finely chopped. Stir into pistachio mixture.
Place 225g butter, icing sugar, vanilla, baking powder, salt and 100g caster sugar in a bowl. Cream together with a mixer until butter clings to sides of bowl and is uniform in colour, 1 or 2 minutes. Mix in egg until incorporated. Add flour; mix on low speed until incorporated, about 2 minutes.
Scrape dough onto a large, generously floured sheet of baking parchment. Dust top of dough with more flour, then press into a rough square. Roll into a 30 x 38cm rectangle with a long edge facing you. Sprinkle pistachio-cranberry mixture evenly over dough, leaving a 1cm border of uncovered dough. Brush top border with water. Tightly roll dough from bottom to top, using parchment to help lift dough, ending with the wet edge and pressing lightly to seal. Slide dough and parchment onto a baking tray; cover with cling film. Freeze 1 hour, or chill 4 to 8 hours.
Preheat oven to 180 C / Gas 4. Line a baking tray with a silicone baking mat or baking parchment.
Slice chilled roll into 1cm thick rounds; set on prepared tray. Bake until edges start to turn golden brown, 13 to 15 minutes. Cool on tray for 10 minutes. Transfer to a cooling rack to cool completely.
Pistachios and dried cranberries need to be pulsed in the food processor separately. If you try to pulse them together, the result will be a paste instead of a crumbly mixture.