Melt your butter over medium heat. Add the diced onions, and let cook until translucent.
While the onions are cooking, put the greek yogurt into a two cup glass measuring cup, making sure that it completely fills the bottom (like no air bubbles). Fill it up to the two cup measure with your milk. Pour the combo into a bowl and whisk until combined.
Once the onions are cooked, gradually add the flour, whisking in a little at a time until it fully combines with the butter. Let it cook for about three minutes, it will deepen in color.
Gradually pour in the milk and yogurt mixture a very little at the time, whisking it into the flour and butter mixture. As you go, you want it to look like the smoothest mashed potatoes ever. If it is getting clumpy and weird, you are pouring in the liquid too fast. Once it is all added, and things are nice and smooth, gradually whisk in the chicken stock.
Bring the mixture to a boil, and reduce the heat to very low and let it simmer uncovered for 20 minutes, allowing it to thicken. Note: If you have it set too hot, it will scorch the bottom of the pan, and make the base too thick. Make sure it is just bubbling.
Add the broccoli and shredded carrots, allow it to come to a simmer again and then put the heat back to low. Allow it to simmer, uncovered, for 20 minutes, cooking the carrots and broccoli.
Once the veggies are tender, move the soup in batches and blend OR use an immersion blender to break up the large pieces of broccoli.
Stir in your cheese one cup at a time, remove from the heat, and enjoy!