Place cilantro leaves in a blender with 1 cup of the chicken stock and blend to form a puree. Set aside.
Melt the butter in a large saucepan, add the onion and garlic, and sauté until soft but not brown. Add the flour and stir to make a roux. Gradually add the remaining broth, stirring with a whisk after each addition.
Add the cilantro puree, stirring to blend thoroughly. Cover and simmer 15 to 20 minutes. The soup may be made ahead up to this step.
Stir in the cream, place in serving bowls and garnish with shredded cheese and a cilantro sprig if desired.