Bring a large pot of salted water to a boil. Add the pasta and cook as the label directs. Reserve 1 1/4 cups cooking water, then drain the pasta; set aside.
Meanwhile, cook the bacon in a large nonstick skillet over medium-high heat until crisp, about 5 minutes. Add the tomatoes and shallot and cook until the tomatoes are starting to burst, about 5 minutes. Pour off all but 2 tablespoons of the drippings from the skillet.
Whisk the eggs, cheese, lemon zest and 1 teaspoon pepper in a medium bowl. Slowly whisk in 1 cup of the reserved cooking water; set aside.
Reduce the heat under the skillet to medium low. Add the pasta and toss well. Slowly pour in the egg mixture, tossing, to make a creamy sauce, about 1 minute. Season with salt and add the remaining 1/4 cup cooking water as needed to loosen. Stir in the basil. Top each serving with more cheese and season with pepper.