Start by finely chopping the onion, then add 1 tablespoon of the butter over medium-high heat in a pan. Add the onions and let it cook down until soft. You can sprinkle salt over the onions to help it cook faster. This should take about 7 to 8 minutes.
Grate the garlic cloves in during the last minute of the onions cooking.
Add the rest of the butter in and let it melt. Then sprinkle in the flour and whisk everything together.
Mix in the corn starch to the milk.
Slowly pour in the milk and whisk the entire time so that no lumps form.
Pour in the broth and continue to whisk.
Turn up the heat so that the mixture comes to a gentle boil to thicken. Whisk to keep the contents from burning/sticking to the bottom.
Once the mixture coats the back of the spoon, it has thickened enough and you can reduce the heat to low-medium.
Pour in the cheddar shreds and keep whisking until it's smooth and totally melted.
Add in all of the spices/seasonings and lemon juice, then mix together well.
Add in the broccoli. If using fresh broccoli, I would chop it up into bite sized pieces first.
Put a lid over the pot and let it cook for about 25 minutes.
If using frozen broccoli you can transfer the larger broccoli pieces to the blender and gently process it until all of the pieces are small enough to your liking. Be careful not to over process and puree the soup unless that's the consistency you desire. You can also take a metal spoon and roughly break up the chunks of broccoli into smaller pieces. Be careful as this can scratch the bottom of the pot, especially if using a nonstick coated pot.
Serve warm and enjoy!