Melt the butter in a large Dutch oven over medium heat.
Add the onion and cook for 4-5 minutes, until softened, stirring occasionally.
Add the cubed potatoes, chicken broth, and kosher salt and bring to a boil.
Reduce the heat to a rolling simmer and cook the potatoes for about 8 minutes or until soft and easily pierced with a fork.
Whiz the potatoes and broth with an immersion blender to the consistency you desire (I like to leave some chunks of potato), or mash with a potato masher.
Add the broccoli florets and the milk and bring to a boil.
Reduce to a simmer, cooking for 5-7 minutes or until the broccoli is al denté.
Toss the cheese with the flour and add to the soup 1 cup at a time, stirring until melted before adding the next batch of cheese.
Season with black pepper and more salt to taste.
