Make the dressing: In a small bowl or jar, whisk together 4–5 tablespoons extra virgin olive oil, 2 tablespoons red wine vinegar, 1 finely minced garlic clove, salt, and pepper. Set aside while you prepare the rest of the salad so the garlic has time to infuse.
Prepare the bread: Cut the stale bread into chunks. If it’s rock hard, you can lightly sprinkle with water and squeeze gently to remove excess — but if it’s just a day old and still has some give, skip this step.
Prepare the onion: Thinly slice the red onion and soak in a bowl of cold water for 10 minutes to soften the flavour. Drain well.
Chop the tomatoes and cucumber: Cut tomatoes into wedges or chunks, catching all their juices. Slice the cucumber into half-moons (or quarters if it’s large). Place the tomatoes in a large bowl and season generously with salt. Let sit for 10 minutes to release their juices.
Combine: Add the bread chunks, drained onion, and cucumber (if using) to the tomatoes. Pour over the dressing and toss well so the bread absorbs the juices.
Rest: Leave the salad at room temperature for 20–30 minutes, tossing occasionally, so the flavours meld and the bread soaks up the dressing.
Finish: Just before serving, tear in the basil leaves and toss gently. Taste and adjust seasoning with more oil, vinegar, or salt if needed.