Pat the fillets dry with paper towels, then lightly season all over with salt and pepper; set by the stove. Hold a large, heatproof rimmed plate under hot running water to warm, then pat dry and set by the stove.
In a large skillet over medium-high, heat the olive oil with 1 tablespoon of the butter. When the foam begins to subside, add the fillets and cook without moving until the fish is lightly browned and turning white and opaque about ¼ of the way up from the skillet, 1–2 minutes. Using a wide, thin metal spatula, gently flip the fillets, then continue cooking until the other side is lightly browned and turning white and opaque about ¼ of the way up from the skillet, 1–2 minutes more. Carefully transfer to the warm plate, cover tightly with an inverted bowl or aluminum foil, and set aside in a warm place to steam while you make the sauce. (It will continue to cook through as it steams.)
Return the skillet to medium-high heat, add the remaining 3 tablespoons butter, and swirl to melt. Cook, using a wooden spoon to scrape the bottom of the skillet frequently, until the foam completely subsides, the milk particles sink to the bottom and turn a deep golden brown, and the butter takes on a toasted fragrance, 2–3 minutes. Add the shallot and cook, stirring and shaking the skillet continuously, until it just begins to soften, about 1 minute. Add the garlic and cook until fragrant, about 30 seconds. Add the tomatoes and cook, stirring gently without crushing them, until they are heated through and beginning to soften and turn jammy, and their juices are slightly thickened, 4–5 minutes. Add the vermouth and continue cooking until the alcohol evaporates, 15–30 seconds more. Remove the pan from the heat.
Uncover the fish, and if desired, transfer to a large rimmed platter or a shallow bowl. Pour the sauce over the fish, top with parsley, and serve immediately.