Prepare the pasta until it's al dente, following package instructions, and reserve ½ cup of the pasta water.
Slice the bacon into thin strips and cook it in a heavy-bottomed skillet over medium to medium-low heat for about 15 minutes, or until mostly crispy.
Remove the bacon and place it on a paper towel-lined bowl.
Discard half of the bacon fat, leaving around 2-3 tablespoons in the skillet.
Add chopped onion and a pinch of salt to the skillet, cooking for 5 minutes.
Then, add minced garlic and red pepper flakes, and cook for an additional 3 minutes.
Stir in the tomatoes, the reserved pasta water, and another pinch of salt.
Mix in half of the crispy bacon.
Cover and let the sauce simmer for 30 minutes.
Once the sauce has thickened, stir in ½ cup of cheese and adjust seasoning with salt and pepper if needed.
Toss the cooked pasta into the sauce, adding a little of the reserved pasta water if the sauce is too thick, until it evenly coats the pasta.
Top with the remaining cheese and bacon before serving.