Prep the berries. Rinse and pat dry.
Hull and slice strawberries if using. In a bowl, toss the berries with 2 tablespoons sugar and the lemon juice. Let sit for 10–15 minutes to macerate.
This pulls out juices and brightens the flavor.
Make the pudding base. In a medium saucepan off the heat, whisk together cornstarch, 1/3 cup sugar, and a pinch of salt. Add the milk gradually, whisking smooth to avoid lumps. Whisk in the egg yolks.
Cook until thick. Set the pan over medium heat and cook, whisking constantly, until the mixture thickens and gently bubbles, 6–8 minutes.
Lower the heat if it starts to scorch. You’re aiming for a thick, glossy pudding that coats the back of a spoon.
Finish with cream and flavor. Remove from heat. Whisk in the butter, heavy cream, vanilla, and a little lemon zest (about 1/2 teaspoon).
Taste and adjust with a pinch more salt or zest if needed. The lemon gives a clean finish without turning it tart.
Cool it quickly. Pour the pudding into a wide bowl. Press plastic wrap directly on the surface to prevent a skin.
Cool to room temperature, then chill for at least 2 hours until cold and set.
Make a quick berry swirl. Take 1/2 cup of the macerated berries and their juices. Lightly mash with a fork to create a spoonable sauce. Keep the rest of the berries whole for layering.
Assemble the cups. Spoon a layer of pudding into small glasses or jars.
Add a few whole berries, then another layer of pudding. Finish with a swirl of the mashed berry sauce on top. Repeat for 6–8 small cups.
Chill to meld. Cover and refrigerate for 30–60 minutes so the flavors mingle and the layers settle.
This also helps the tops look smooth and glossy.
Garnish and serve. Just before serving, add a dollop of whipped cream, a sprinkle of crushed cookies, or a small mint leaf. Serve cold.