For the dressing: In a medium bowl, whisk together the onion, ketchup, vinegar, honey, Worcestershire and paprika. Slowly drizzle in the oil while whisking. Season with salt and pepper.
For the salad: In a large salad bowl, combine the lettuce, cucumbers, tomatoes, cranberries, pistachios and walnuts. Toss well. Serve with the dressing on the side.