8 ounces campanelle or other short pasta
Kosher salt and ground black pepper
5 tablespoons extra-virgin olive oil, divided, plus more to serve
2 pints grape or cherry tomatoes
1 large red onion, chopped
1 large fennel bulb, halved, cored and thinly sliced
4 medium garlic cloves, minced
1 tablespoon minced fresh rosemary
1 teaspoon fennel seeds
3/4 teaspoon red pepper flakes
2 15½-ounce cans Roman beans (see note), drained but not rinsed
2 cups low-sodium chicken broth
2 teaspoons grated lemon zest, plus 2 tablespoons lemon juice
2 ounces Pecorino romano cheese, grated (1 cup)
In a large Dutch oven over medium-high, bring 2 quarts water to a boil. Add the pasta and 1 tablespoon salt. Cook, stirring occasionally, until just shy of al dente. Reserve 2 cups of cooking water, then drain and rinse with cold water until cool; set aside.
Wipe out the pot and return it medium-high. Heat 3 tablespoons of oil until barely smoking. Add the tomatoes, then cover, reduce to medium and cook, stirring occasionally, until lightly charred and have burst, about 5 minutes. Stir in the onion, sliced fennel and ½ teaspoon salt, then cook on medium-high, stirring occasionally, until the vegetables begin to soften, about 5 minutes.
Add the garlic, rosemary, fennel seeds and pepper flakes, then cook, stirring, until fragrant, about 30 seconds. Stir in the beans, broth and ½ cup of the reserved cooking water. Bring to a simmer over medium-high. Cover, reduce to medium and cook, stirring once or twice, until the vegetables are tender, about 10 minutes.
Add the pasta and cook, stirring frequently, until the pasta is al dente and the sauce is creamy, 3 to 5 minutes. If needed, add the remaining reserved cooking water 1 tablespoon at a time to reach the proper consistency. Off heat, stir in the lemon zest and juice and the remaining 2 tablespoons oil. Taste and season with salt and pepper. Serve with the cheese and additional oil for drizzling.