In a medium saucepan, combine heavy cream, milk, sugar, and salt. Heat over medium heat until mixture is hot and steaming, but not boiling.
In a separate bowl, whisk egg yolks. Slowly pour about 1 cup of the hot cream mixture into the yolks while whisking constantly to temper them.
Pour the egg yolk mixture back into the saucepan and cook over medium-low heat, stirring constantly with a wooden spoon, until the custard thickens enough to coat the back of the spoon (about 170°F on an instant-read thermometer). Do not let it boil.
Remove from heat and whisk in peanut butter and vanilla extract until smooth.
Strain the custard through a fine-mesh sieve into a bowl. Cover and refrigerate until completely chilled, at least 4 hours or overnight.
Churn the chilled custard in an ice cream maker according to the manufacturer's instructions.
During the last few minutes of churning, add the chopped peanut butter cups and let them mix in.
Transfer the ice cream to an airtight container and freeze for at least 4 hours or until firm.
Tips
For best texture, let the ice cream soften at room temperature for 5-10 minutes before scooping.
Store in an airtight container with a layer of plastic wrap directly on the surface to prevent ice crystals.
If you don't have an ice cream maker, you can pour the custard into a shallow dish and freeze, stirring every 30 minutes until firm.