Set a fine-mesh strainer over a medium bowl and keep it nearby.
Whisk egg yolks, sugar, cornstarch, and salt in a saucepan until thick and smooth.
Warm milk and cream in a separate saucepan over medium heat until steaming, not boiling.
Slowly drizzle in a ladle of hot dairy to the yolk mixture, whisking constantly to temper.
Pour the tempered mixture back into the pan with the remaining dairy while whisking.
Cook over medium heat, whisking nonstop, until thick bubbles form, about 2–3 minutes.
Remove from heat; whisk in butter and vanilla until glossy and smooth.
Strain the custard into the prepared bowl for an extra-silky texture.
Press plastic wrap directly on the surface. Cool, then chill until set, about 2 hours.
Serve chilled on its own or spooned over berries, cake, or pie.