Preheat the oven to 450 degrees F. Bring a large pot of salted water to a boil.
Heat 2 tablespoons of the olive oil in a medium saucepan over medium heat. Add the garlic and red pepper flakes and cook, stirring, until the garlic is golden, about 2 minutes. Add both cans of the tomatoes and 1 cup water. Increase the heat to medium-high and bring to a simmer. Reduce the heat slightly, add the basil sprigs and simmer rapidly, uncovered, until thickened, 15 to 20 minutes. Discard the basil and season with salt and pepper.
While the sauce simmers, heat the remaining tablespoon of oil in a medium skillet over medium heat. Add the pancetta and cook, stirring occasionally, until browned and crispy, about 8 minutes. Transfer to a large mixing bowl with a slotted spoon. Add the zucchini to the drippings in the pan and cook, stirring occasionally, until crisp-tender, about 4 minutes. Add the carrots and peas and cook, stirring, until the carrots just start to wilt, about 2 minutes. Transfer to the mixing bowl.
Cook the penne in the salted boiling water until very al dente, about 2 minutes less than the package directions. Drain the pasta and add it to the mixing bowl.
Add the tomato sauce, half of the mozzarella and half of the Parmesan to the bowl and stir well to combine. Transfer the pasta to a 3- to 4-quart baking dish and top with the remaining mozzarella and Parmesan. Bake, uncovered, until browned, about 15 minutes. Let the pasta stand about 10 minutes before serving.