Melt the butter in a skillet over medium heat. Add the sliced onions and cook, stirring often, for 15 to 20 minutes until they turn golden brown and soft.
Transfer the caramelized onions to the slow cooker. Add the broccoli florets, chicken broth, garlic, salt, and black pepper.
Cover and cook on low for 6 hours or on high for 3 hours until the broccoli is very tender.
Use an immersion blender to partially puree the soup, leaving some broccoli pieces for texture.
Stir in the shredded cheddar cheese until fully melted. Add the heavy cream and stir until the soup is smooth and heated through.