3 tablespoons extra-virgin olive oil, plus more for greasing
1/2 pound pancetta, trimmed of excess fat and diced
1 medium onion, chopped
1 fennel bulb, trimmed and thinly sliced
1 28-ounce can whole plum tomatoes (or fresh)
1/2 cup heavy cream
12 ounces penne
1/2 cup chopped fresh basil
1 cup grated parmesan cheese (about 2 1/2 ounces)
2 cups grated mozzarella cheese (about 8 ounces)
1 3/4 cups grated fontina cheese (about 6 ounces)
Position a rack in the upper third of the oven and preheat to 450. Bring a large pot of salted water to a boil. Heat 1 tablespoon olive oil in a large skillet over medium-high heat. Add the pancetta and cook, stirring, until the fat renders, 2 to 3 minutes. Pour off the fat, leaving about 1 tablespoon in the pan. Add the onion and fennel and cook until the fennel is soft, about 5 minutes. Crush the tomatoes into the pan with your hands, then pour in the juices from the can and bring to a simmer. Fill the empty can with 1/2 cup of the boiling water and add to the sauce. Stir in the cream and simmer while you cook the pasta.
Add the pasta to the boiling water and cook until al dente. Drain and add to the sauce. Stir in the basil and 1/2 cup parmesan. Drizzle with 1 tablespoon olive oil, season with salt and toss.
Oil a 9-by-13-inch baking dish. Layer the pasta, mozzarella, fontina and the remaining 1/2 cup parmesan in the dish, alternating pasta and cheese. Drizzle with the remaining 1 tablespoon olive oil. Bake, uncovered, until browned and bubbly, about 15 minutes.