Cook the pasta al dente (it should have a little bite to it but be cooked through). Drain, reserving about 1/4 cup of the pasta cooking water (!).
Place the tomatoes in a large bowl. Using a sharp knife, slice a shallow X into the bottom of tomatos. Pour boiling water over the tomatoes, leave them for a minute in hot water, then drain. Peel the tomatoes and cut into ½ inch (1.5 cm) cubes.
Peel and cut the garlic into thin slices.
Heat the olive oil and butter in a large frying pan, add the garlic, cook over medium heat for about a minute.
Add the tomatoes with their juices, pasta cooking water, lemon juice, and lemon zest. Cook for a few minutes until the tomatoes form a sauce but are still chunky.
Remove the pan from the heat, add the cooked pasta, torn into small pieces mozzarella, and basil leaves. Toss everything together, season with salt and pepper to taste.