Preheat and prep: Heat the oven to 400°F (200°C). Lightly oil a 9x13-inch baking dish.
Season the chicken: Pat the chicken breasts dry.
Season both sides with salt, pepper, and Italian seasoning. Drizzle with 1 tablespoon olive oil and rub to coat.
Make the tomato mix: In a bowl, toss the halved tomatoes and red onion with the remaining 1 tablespoon olive oil, a pinch of salt, pepper, and balsamic vinegar (if using).
Assemble the dish: Spread 1/3 cup of pesto on the bottom of the baking dish. Place the chicken on top.
Spoon the tomato mixture around and slightly over the chicken.
Add pesto: Spread the remaining pesto over the chicken breasts. Don’t worry about being too neat—some will run into the tomatoes and that’s perfect.
Bake the first round: Bake uncovered for 15–18 minutes, depending on thickness.
Add the cheese: Remove the dish, sprinkle the mozzarella and Parmesan over the chicken. Return to the oven and bake another 7–10 minutes, until the chicken reaches 165°F (74°C) at the thickest point and the cheese is melted and bubbly.
Rest and finish: Let the chicken rest 5 minutes.
Spoon some of the tomato-pesto juices over the top. Garnish with fresh basil and a squeeze of lemon if you like.
Serve: Pair with buttered pasta, herbed rice, roasted potatoes, or a green salad. Crusty bread is great for those pan juices.