Boil the potatoes in their skins in salted water until they're fork-tender, about 15-20 minutes depending on size. This keeps them from becoming waterlogged. Once cooked, drain well and let cool slightly until they're easy to handle. Peel away the skins and cut the potatoes into 1/2-inch cubes. Set aside to cool completely—this prevents the warm potatoes from wilting the lettuce later.
While the potatoes cool, wash the lettuce thoroughly and pat it dry with paper towels—excess water will dilute the dressing and make the salad soggy. Tear the lettuce into bite-sized pieces and place in a large bowl. I like to prepare the lettuce right before serving to keep it crisp and fresh.
In a separate bowl, whisk together the mayonnaise, sour cream, salt, black pepper, fresh dill, and lemon juice until smooth and well combined. The lemon juice adds brightness to the dressing and helps balance the richness of the mayo and sour cream. Taste and adjust seasonings if needed.
Pour the creamy dressing from Step 3 over the lettuce in the bowl, then gently fold in the cooled potato cubes from Step 1. Toss everything together until the lettuce and potatoes are evenly coated with the dressing. Serve immediately while the lettuce is still crisp. I find that gently folding rather than tossing vigorously keeps the potatoes from breaking apart.