Heat the olive oil in a heavy-bottomed pot over medium heat.
Add the onion, carrot, cauliflower, tomatoes, and salt. Sauté until the onions begin to turn golden and the tomatoes break down, about 10–12 minutes.
Stir in the garlic and cook for another 2 minutes.
Add the water and black pepper. Bring to a boil, then reduce the heat to a gentle simmer. Cover and cook for 30 minutes.
Stir in the lentils, cannellini beans, and basil. Cover and continue simmering for about 30 minutes, or until the lentils are tender.
Taste and adjust the seasoning if needed.
