Place a large soup pot over high heat and add two tablespoons of olive oil. Once the oil is hot, carefully place about a third of the broccoli florets cut-side down in a single layer without overcrowding the pan and allow it to caramelize and sear on just one side. This should take about 3-4 minutes.
Once one side of the broccoli is nice and golden, remove it from the pot, and place it on a plate and set aside. Continue adding broccoli until it is all seared on one side and then sprinkle all of the partially cooked broccoli with 1/2 teaspoon salt.
Now add the butter and the remaining two tablespoons of olive oil to the soup pot and saute the onions, about 3-5 minutes or until they soften. Add the salt, chile flakes and garlic cloves and let cook for a minute or so.
Add the potato slices to the pot and stir well, tossing with the onions and olive oil to coat the potatoes. Pour in the water and then generously grind fresh black pepper. Drop in the Parmesan rinds and stir well, and bring the soup to a simmer. Cover with a lid and cook 10-15 minutes or until the potatoes soften.
Then add the broccoli, cover again and cook until tender, about 5-10 minutes,
Add the lemon zest and roughly puree the soup with an immersion blender or regular blender, leaving a bit of chunks behind for texture. Add lemon juice and stir well. Taste, adjusting seasoning if needed.
To serve, heat thoroughly, spoon in a bowl and finish with Parmesan cheese, a drizzle of olive oil, freshly ground black pepper and flaky Maldon salt.