Preheat and prep pans: Set your oven to 425°F (220°C).
Line a large sheet pan with parchment or foil for easy cleanup. If your pan is small, use two to avoid crowding.
Season the potatoes: Toss the baby potatoes with 1–2 tablespoons olive oil, salt, and pepper. Spread on the pan, cut side down for better browning.
Roast for 10 minutes to get them started.
Add the hardy veggies: Pull the pan out. Add broccoli florets and red onion wedges. Drizzle with 1 tablespoon olive oil, season with salt and pepper, and add the minced garlic if using.
Toss lightly and return to the oven for 10 more minutes.
Prep the salmon: While the veggies roast, pat the salmon dry with paper towels. Season both sides with salt and pepper. Spread 1–2 tablespoons pesto over the top of each fillet.
Zest half a lemon over the salmon for brightness.
Add salmon and tomatoes: Remove the pan again. Scoot the veggies to make space and nestle the salmon fillets in the center. Scatter the cherry tomatoes around.
Drizzle a touch more olive oil over the tomatoes and a pinch of red pepper flakes if you like a little heat.
Roast to finish: Return the pan to the oven and roast 10–12 minutes, depending on thickness. The salmon should flake easily with a fork and look just opaque in the center. If you like a lightly browned pesto top, switch to broil for the final 1–2 minutes, watching closely.
Final touches: Squeeze fresh lemon juice over everything.
Sprinkle a little Parmesan and torn basil on top if you’re using them. Taste and adjust seasoning as needed.
Serve: Plate salmon with a generous scoop of roasted veggies and tomatoes. Add extra pesto on the side for dipping if you want a bigger basil punch.