In a soup pot, melt butter; add onion and garlic and cook till onion is translucent. Slowly whisk in flour (no lumps), then gradually add chicken broth and bring to a boil.
Add drained artichoke hearts; reduce heat and simmer for about 10 minutes.
Transfer half of the soup to a blender and puree (use a slotted spoon in order to include some of the non-liquid ingredients). Add this mixture back to the soup pot. Blend well, then add half and half, thyme and salt and pepper to taste. Heat to a very low simmer, but do not boil or soup will break.