In a large bowl, whisk together flour, sugar, salt, and yeast. Add warm milk and melted butter. Stir with a wooden spoon until a shaggy dough forms and no dry spots remain.
Turn dough out onto a lightly floured surface and knead by hand until smooth and elastic, about 6 to 8 minutes. The dough should be tacky but not sticky. Alternatively, knead using a stand mixer with a dough hook on medium speed for 5 minutes.
Transfer dough to a lightly oiled bowl. Cover tightly with plastic wrap and let rise in a warm spot until doubled in size, about 1 hour.
Punch down the dough and divide into 8 equal pieces. Roll each piece into a taut ball by cupping your hand and rotating on the counter. Arrange evenly on a parchment-lined baking sheet, spacing 1 to 2 inches apart.
Optional second rise: For lighter rolls, loosely cover and let rise for an additional 15 to 20 minutes while the oven preheats.
Preheat the oven to 375°F (190°C).
In a small bowl, combine melted butter, garlic, parsley, and salt.
Brush each dough ball generously with garlic butter. Bake until golden brown, 18 to 20 minutes, rotating the pan halfway through baking for even browning.
While still warm, brush rolls with remaining garlic butter and sprinkle with Parmesan, if using. Serve warm.
Notes
Make sure your milk is warm (not hot!) to activate the yeast.
For extra fluffy rolls, let them rise for another 15–20 minutes after shaping before baking.
Want extra cheesy rolls? Stuff a small cube of mozzarella into the center before shaping.