Arrange a rack in the middle of the oven and heat the oven to 350ºF.
Cut ⅓ medium loaf sourdough or ciabatta bread into 1-inch-thick slices. Tear the bread into rough ½-inch pieces (about 3 cups) and place on a rimmed baking sheet. Finely grate 2 garlic cloves into a small bowl. Add 3 tablespoons extra-virgin olive oil and 2 tablespoons grated Parmesan, and stir to combine. Drizzle over the bread, toss to combine, and spread into a single layer. Season lightly with kosher salt and black pepper.
Bake until lightly golden-brown and crisp, 10 to 15 minutes. Meanwhile, make the dressing.
Juice 1 medium lemon until you have 2 tablespoons. Place the lemon juice, 4 anchovy fillets, 2 large egg yolks, 1 garlic clove, 1 teaspoon Worcestershire sauce, ¾ teaspoon Dijon mustard, and ½ teaspoon black pepper in a blender. Blend on high speed until smooth, about 15 seconds.
With the blender on high speed, very slowly stream in ½ cup extra-virgin olive oil and blend until creamy and completely emulsified, about 90 seconds total. (To avoid splatter, you can partially cover the opening with a kitchen towel.) Pour the dressing into a small bowl. Taste and season with kosher salt and more black pepper as needed.
Finely grate 1 ounce Parmesan cheese on a Microplane (about ⅔ cup), or measure out ½ cup store-bought grated. Add 2 tablespoons of the grated cheese to the dressing and stir to combine.
Halve 2 medium romaine lettuce heart lengthwise, then cut crosswise into 1-inch-thick strips (about 8 cups). Alternatively, cut the leaves from the core and separate, leaving them whole. Place in a large bowl.
Add about ⅔ of the dressing (½ cup) and toss to coat. Add half of the remaining Parmesan and half of the croutons. Toss to evenly distribute. Taste and toss with more dressing as needed. Transfer to a serving plate. Garnish with remaining croutons and Parmesan. Finish with a few cracks of black pepper.
