Prepare the ingredients as instructed above.
In a medium saucepan over medium heat, melt the butter. Add chopped onion and cook for 3–4 minutes until translucent.
Stir in minced garlic and cook for 30 seconds. Sprinkle in flour and whisk constantly for 1 minute to form a roux.
Slowly pour in chicken broth and milk, whisking to combine and avoid lumps. Bring to a gentle simmer.
Add broccoli, shredded carrots, salt, and pepper. Simmer uncovered for 10–12 minutes, until the broccoli is tender. For a creamier texture, blend with an immersion blender if desired.
While the soup simmers, spread softened butter on one side of each bread slice. Place one slice butter-side down in a skillet. Layer with cheese and ham, then top with the second slice of bread, butter-side up.
Heat the skillet over medium heat. Cook the sandwich for 2–3 minutes per side until golden brown and the cheese is melted. Remove from the skillet and cut in half.
In a glass, combine sparkling water, lemon slices, and ice cubes.
Serve the soup in bowls with a ½ fried ham and cheese sandwich and lemon sparkling water.