Heat the oven to 450°F. Spray a baking sheet with nonstick cooking spray. Spread out the asparagus spears in a single layer on a rimmed baking sheet. Drizzle with 1 tablespoon of the oil and shake the pan to evenly coat the spears. Season with salt and pepper.
Move the asparagus to one side of the baking sheet. Place the tomato halves adjacent to the asparagus; set aside.
Combine the breadcrumbs, parsley, garlic, red pepper, and lemon zest in a small bowl. Brush each fish with some of the remaining olive oil, then add to the breadcrumb mixture. Season the breadcrumb mixture with salt and pepper and stir to combine.
Place the fish on the other side of the baking sheet from the asparagus. Divide the breadcrumb mixture on the topside of each fillet. Roast until the breadcrumbs are browned and the fish is opaque, about 8 minutes. (Cook salmon to 125°F and halibut and cod to 130°F when measured with an instant read thermometer.)
If the asparagus isn’t quite done remove the fish to a serving plate and increase the heat of the oven to broil. Continue to cook the asparagus until lightly charred, 1 to 2 minutes. Serve immediately on warmed serving plates.