Whisk sugar with cornstarch in a medium bowl, then whisk in cream.
Pour milk into a large saucepan and set over medium-high. Bring almost to a boil; milk will begin to steam and foam around the edges. Remove from heat. Whisk about 1 cup hot milk into sugar mixture. Then slowly whisk sugar mixture back into remaining milk in saucepan. Place over medium. Cook, whisking frequently, until mixture bubbles vigorously over entire surface and pudding thickens, 9 to 12 min. Immediately reduce heat to low and whisk frequently for 2 min.
Remove from heat and stir in dulce de leche and vanilla until evenly mixed. Spoon into individual serving dishes or into a large bowl. Press a piece of plastic wrap onto the surface of pudding. Refrigerate. It will thicken as it cools, about 2 hours. Pudding will keep well, covered and refrigerated, for up to 2 days. Serve topped with whipped cream and chocolate shavings.