Preheat the oven to 375 F/190 C. Slice off the top quarter of the garlic heads and rub the exposed area of the bottom three-quarters with the oil, making sure some oil seeps down through each crack. Season the cut surface of the garlic with the salt. Wrap in aluminum foil and bake for 30 minutes.
While this is happening, prep the garlic, herbs, and cheese.
Lower the oven to 350 F/190 C. Slice the upper crust of the loaf in a crosshatch pattern, cutting down through the upper crust to the middle of the loaf but not cutting all the way through to the bottom crust.
Gently press down on both sides of the bread to pop up the interior so the cubes and crevices are exposed. Place the roasted garlic heads, cut-side down, in the center of a baking dish and then balance the loaf on top of them. (This is easiest if your two garlic heads are similarly sized.)
Melt the butter in a small saucepan over medium heat. Drop the heat to low, add the chopped garlic, and swirl the pot to coat the chopped garlic in butter. Do not let it brown. Cook for 1 minute, until fragrant, then add the salt, pepper, parsley, thyme, and rosemary. Swirl again to mix the herbs, garlic, and butter.
Brush the flavored butter into all the crevices of the bread. If you need more butter, melt a few more tablespoons and keep basting the bread until it's covered, both inside the crevices and the exposed top.
Generously sprinkle the cheese over the loaf, stuffing it well into the cuts. (At this point, the loaf can be made then wrapped well and placed in the refrigerator for up to 3 days.)
Bake the cheesy loaf for about 20 minutes, until the cheese has melted and the bread is crispy on top. Serve immediately, together with the roasted garlic halves for scooping out and spreading on the bread.