Melt butter in a large saucepan over medium heat. Add minced garlic and diced red onion. Cook until fragrant. Add in flour and cook for a minute to brown.
Add in broccoli florets, chicken broth, milk, salt, pepper and garlic powder. Let simmer over medium heat, whisking constantly until thickened, about 20-25 minutes.
Blend soup in batches until smooth. Return to saucepan over medium heat. Add in shredded cheese, stir until fully melted. Let cook, whisking constantly for another 10-15 minutes.