Cook the raspberries.
Add raspberries and sugar to a saucepan over medium heat. Stir and let them break down until juicy and fragrant, about 5–7 minutes.
Blend until smooth.
Blend the raspberry mixture until silky. If you hate seeds, strain it. If you don’t mind texture, live boldly and skip it.
Mix the base.
Whisk milk, cornstarch, salt, and lemon zest in a clean saucepan until smooth. No lumps allowed—be thorough.
Cook until thick.
Pour in the raspberry puree and cook over medium heat, whisking constantly. It thickens fast, so don’t walk away like it owes you money.
Finish with vanilla.
Remove from heat and stir in vanilla. The pudding should coat the back of a spoon like it means business.
Chill and set.
Pour into serving bowls, cover, and chill for at least 2 hours. This is the hardest part—waiting.