Bring a large pot of salted water to a rolling boil.
Meanwhile, heat a large skillet over medium heat and add the olive oil.
Add the diced smoked pancetta and cook, stirring occasionally, until it’s crispy and most of the fat has rendered, about 8 to 10 minutes.
Using a slotted spoon, transfer most of the pancetta to a plate lined with paper towels, leaving the fat in the skillet.
Add the chopped onion to the skillet and cook, stirring occasionally, until softened and translucent, about 5 to 7 minutes.
Stir in the crushed garlic and red pepper flakes and cook until fragrant, about 1 minute.
Pour in the diced tomatoes, season with salt and pepper, and bring to a gentle simmer.
Reduce the heat to low and let the sauce simmer, stirring occasionally, for about 15 minutes.
While the sauce simmers, add the bucatini to the boiling water and cook until al dente, about 9 to 11 minutes.
Reserve about 1/2 cup of the pasta cooking water, then drain the bucatini.
Add the bucatini to the sauce along with most of the pancetta and half of the Pecorino Romano cheese. Add a splash of the reserved pasta water.
Toss everything together until the sauce is silky and coats the pasta, adding more pasta water if needed.
Divide the pasta among serving plates. Top with the remaining pancetta, the rest of the Pecorino Romano cheese, and a final grind of black pepper.
Serve immediately.