Use the palm of your hand to carefully separate the heads of garlic. Using a sharp small knife, trim the ends of each garlic clove and then peel each clove, leaving it intact. Discard any bruised cloves.
Place the peeled garlic cloves in a small saucepan (2 quarts or larger), cover with the olive oil, and place over very low heat on the stove.
As the oil begins to warm, you will slowly see small bubbles form. The bubbles will gradually get larger until the oil is simmering slowly.
Continue to cook the garlic in the oil over very low heat, stirring carefully every few minutes, for 15 to 30 minutes (time will vary depending on your garlic clove sizes, adjust time as necessary), or until the garlic cloves are tender and cooked through, yet still retain their shape and aren't heavily caramelized
Use a long sharp knife to pierce the cloves, they should meet little to no resistance once they are finished cooking.
Remove from the heat. Add fresh herbs to the oil, if using. Transfer to a clean heat proof jar, cover with a tight-fidding lid, and immediately refrigerate.