In a large heavy saucepan combine sugar and cornstarch. Stir in milk. Cook over medium heat until thickened and bubbly, stirring constantly. Cook and stir 2minutes longer. Remove from heat. Gradually stir 1 cup of the milk mixture into egg yolks.
Add egg mixture to milk mixture in saucepan. Bring to a gentile boil; reduce heat. Cook and stir 2 minutes more. Remove from heat. Stir in butter and vanilla. Pour pudding in bowl; cover surface with plastic wrap. Let stand at room temperature up to 1 hour; refrigerate to store longer.
If you want, you can sprinkle granola and dried cranberries on top and serve.