Squeeze the roasted garlic cloves into a small bowl and set aside. Reserve the empty heads.
Place the chicken stock and reserved empty garlic heads in a medium pot and bring to a boil. Reduce the heat to medium-low and simmer for 1 hour. Strain the stock into a clean pot and discard the solids. Set aside.
Return the stock pot to the stove and heat the oil and melt the butter over medium-high heat. Add the onions and cook, stirring, until slightly caramelized, 5 to 7 minutes. Add the garlic and minced garlic and cook, stirring, until fragrant, about 45 seconds. Add the stock and roasted garlic cloves and stir well to combine. Add 3 cups of the croutons, the salt, pepper, and cream and bring to a low boil. Reduce the heat and simmer, stirring occasionally, for 5 minutes. Remove from the heat.
With an immersion blender, or in batches in a food processor, puree the soup until smooth. Add the cheese and stir to incorporate.
Ladle the soup into bowls and garnish each serving with additional croutons. Drizzle with basil pesto and serve immediately.
Yield: Makes 2 quarts, about 8 servings