Pour the olive oil into a medium saucepan, add the garlic, and sauté for 1 minute.
Carefully add the tomatoes, salt and most of the basil, saving a few leaves for garnish. Place a lid on top and give the pan a vigorous shake to coat the tomatoes in the oil. Simmer on a low heat for 25-30 minutes, or until the tomatoes have softened and broken down. Stir halfway through, adding the vinegar and sugar and remove the lid.
When ready, spoon out 2 generous spoonfuls of the tomatoes, set aside. Blitz the remaining tomatoes with a stick blender until smooth, then tumble the reserved tomatoes back in - this will give it a bit more texture.
Tip in the beans with their bean stock and simmer for a further 4-5 minutes until the bean stock is submerged into the sauce and the beans are warmed through. Stir through the parmesan or pecorini and season well with cracked black pepper.
Spoon into bowls, tear over the mozzarella and scatter over the reserved basil leaves. Serve with a crisp green salad and bread for mopping.
