Fill a 4 L / 4-quart bowl with the 2 L cold water and the lemon juice. Cut the leaves and base off the cardoons, separate the pale ribs, and peel the strings from the rounded side of each rib with a vegetable peeler. Cut the ribs into 2 cm pieces and drop them into the lemon water as you go. Peel and cube the potatoes, chop the onion, and slice the garlic.
Bring the 1.5 L water and 1 tsp salt to a boil in a 22 cm / 4-quart saucepan. Drain the cardoons, add them, and boil gently for 30 minutes, until a knife slides in with no resistance and the pieces have no fibrous threads. Drain well.
While the cardoons boil, warm the olive oil in a 26 cm / 5-quart Dutch oven over medium-low heat. Add the onion and a pinch of the 1/2 tsp salt and cook for 8 minutes, stirring, until soft and pale with no browning. Add the garlic and cook for 1 minute, until fragrant.
Add the potatoes, drained cardoons, broth, and Parmigiano rind to the Dutch oven. Bring to a boil, lower to a steady simmer, partly cover, and cook for 20 minutes, until a potato cube crushes easily against the side of the pot.
Remove the rind. Blend about half the soup with an immersion blender in short pulses, leaving the rest chunky. Stir in the grated Parmigiano, parsley, pepper, and salt to taste, then thin with up to 60 ml hot water if it feels stiff. Serve hot with more cheese and olive oil.