Preheat a large (6 or 7 quart) enameled Dutch oven or other heavy bottomed pot over medium heat.
Thaw your broccoli by placing it in a large bowl and microwaving until thawed, but not cooked all the way through. I did 3 one minute increments, stirring in between. Then dump your thawed broccoli onto either a kitchen towel or a few layers of paper towels, and gently wring the water out over the sink. Chop into small pieces. Now your frozen broccoli is ready to go.
Cut 2 Tablespoons off of your ½ cup stick of butter and add it to the pot. When the butter bubbles, add the onions. Cook for 10 minutes, stirring occasionally, until onions are translucent.
Add the grated carrots, and a pinch of salt and pepper. Cook until the carrots are soft, about 3 minutes or so.
Add the rest of the stick of butter to the pot. Let it melt, and then add ½ cup of flour. Stir until a paste forms. This will be the thickener for the soup (the roux). Don't worry about the onions and carrots being in there. They'll be fine.
Cook the roux, stirring constantly, for about 2 minutes to cook the flour.
Add a little bit of the vegetable stock, stir vigorously to break up any lumps in the roux. Add more stock, stir again. Then add the rest of the stock and stir.
Bring the soup to a boil and then turn down the heat and let it simmer for about 5 minutes, or until it thickens slightly. Add about ¾ to 1 teaspoon salt at this point, and add your squeeze of lemon juice. Check for seasoning. It should taste bright and savory, not dull. Add more salt until the seasoning is where you like it.
Add the thawed, chopped broccoli and stir.
Add the cheese a in 2 or 3 additions, stirring in between until all the cheese is melted. You don't want the soup at a rolling boil for this, or you run the risk of your cheese seizing. A simmer is just fine.
Add the heavy cream and stir.
Adjust the seasoning. Dairy dulls seasoning, so you will need to add more salt and pepper until you have a bright tasting, savory soup.
Bring the soup back to a simmer, serve, and enjoy!