Melt butter over low heat in a dutch oven. Add onions, garlic, and olive oil. Cook until onions are translucent.
Add carrots, ginger, chicken broth, pepper, and salt. Stir and turn heat up to medium. Cook for 25 minutes. Use an immersion hand-held blender to puree the carrots and the broth.
Stir in half and half very slowly. Turn the heat down to med-low and cook for 15 more minutes. Use the immersion blender to make sure you have blended everything. Your soup should be thick, but not chunky!