Dressing In a small bowl whisk yogurt and olive oil until creamy. Add lemon juice, garlic and salt, and whisk until creamy and fully combined. Set dressing aside.
Salad Fill a large pot halfway with water and 2 teaspoons of salt. Bring to a boil. Add beans and cook until crisp-tender, 4-5 minutes. Using tongs, transfer beans to a large bowl of ice-water to stop the cooking process. Drain and refill the bowl with cold water. Drain and set aside.
Heat 2 tablespoons of olive oil in a medium skillet. Add onions and cook, over medium-low heat, stirring occasionally, for 10 minutes, until soft. Sprinkle with 1/4 teaspoon salt. Set aside to cool.
Slice tomatoes in half lengthwise. Pull out the seeds and watery pulp. Dice the flesh. Set aside.
In a large bowl, combine green and yellow beans, onions, tomatoes, basil, and cannellini beans. Pour dressing on top and toss to combine. Season with salt and pepper, to taste. (Can be made a day ahead. Let salad warm at room temp for 15 minutes or so and toss, before serving)