Prep the strawberries: Rinse, hull, and roughly chop the strawberries. Add them to a saucepan with 2–3 tablespoons of sugar and 1 teaspoon lemon juice.
Cook over medium heat for 5–7 minutes until juicy and soft.
Blend and strain: Puree the cooked strawberries with an immersion blender or in a regular blender. For the silkiest pudding, press the puree through a fine mesh strainer to remove seeds. You should have about 1 to 1 1/4 cups of strawberry puree.
Set aside.
Make the custard base: In a medium saucepan (off the heat), whisk together 1/2 cup sugar, 3 tablespoons cornstarch, and a pinch of salt. Slowly whisk in 1 3/4 cups whole milk until smooth and no lumps remain.
Add yolks for richness: In a small bowl, whisk 3 egg yolks. Slowly whisk in a ladle of the milk mixture to temper, then pour the yolk mixture back into the saucepan, whisking constantly.
Cook until thick: Place the pan over medium heat and cook, whisking often, until the mixture thickens and starts to bubble, 6–8 minutes.
Reduce heat to low and cook 1–2 minutes more, whisking, to remove any starchy taste.
Finish with flavor: Remove from heat. Whisk in 1 tablespoon unsalted butter, 1 teaspoon vanilla extract, and the reserved strawberry puree. For extra creaminess, whisk in 1/4 cup heavy cream.
Taste and adjust sugar or lemon if needed.
Chill to set: Pour the pudding into a large bowl or individual cups. Press plastic wrap directly on the surface to prevent a skin forming. Chill at least 3 hours, or until cool and set.
Serve: Give it a quick whisk before serving.
Top with whipped cream, fresh strawberry slices, and a mint sprig if you like. For a layered dessert, alternate pudding with crushed vanilla wafers in small jars.