In a large skillet over medium heat, heat 2 tablespoons oil. Add garlic and cook, stirring, until fragrant, about 1 minute.
Add tomatoes, season with ½ teaspoon salt, and cook, tossing occasionally, until tomatoes soften and release their juices, 3 to 4 minutes. Add spinach and cook, stirring, until wilted, 1 to 2 minutes more.
Stir in beans, cream, Parmesan, ½ teaspoon salt, and ¼ cup water and bring to a boil over high heat. Reduce heat to medium-low and simmer, stirring occasionally, until thickened to a creamy sauce, 8 to 12 minutes (sauce will continue to thicken as it cools).
Meanwhile, in another large skillet over medium-high heat, heat 2 tablespoons oil. Add 2 slices of bread and cook, turning halfway through, until golden brown on both sides, 3 to 4 minutes total. Transfer to a plate. Repeat with remaining bread and 2 tablespoons oil.
Fold sliced basil into bean mixture; season with remaining ½ teaspoon salt, if needed. Top with torn basil. Serve with bread alongside.
