1 ¼pounds fluke, halibut or cod, cut into 4 equal pieces
1cup cilantro, tender leaves and stems
½cup mint, tender leaves and stems
Limes, halved, for serving
Tortillas, toast or rice, for serving (optional)
Heat olive oil in a large skillet (use one with a lid) over medium-high heat. Add garlic and shallots and cook, swirling the skillet constantly until they are starting to toast and turn light golden brown, 2 minutes or so. Add red-pepper flakes and swirl to toast for a few seconds. Remove from heat and transfer all but 1 tablespoon of the chile oil to a small bowl.
Add tomatoes to the skillet and season with salt and pepper. Cook, tossing occasionally, until they burst and start to become saucy and jammy, 5 to 8 minutes. Add fish sauce (if using) and 1 1/2 cups water, swirling to release any of the bits stuck on the bottom of the skillet.
Cook until the sauce is slightly thickened but still nice and brothy, 3 to 5 minutes. Season with salt and pepper.
Season the fish with salt and pepper and gently lay the pieces in the brothy tomatoes. Cover the skillet and cook until the fish is opaque and just cooked through, 4 to 6 minutes (slightly longer for a thicker piece of fish, like halibut).
To serve, transfer fish and brothy tomatoes to a large shallow bowl (or divide among four bowls). Drizzle with reserved bowl of chile oil, more olive oil and the crispy shallots and garlic. Top with cilantro and mint, and serve with limes for squeezing over the top. Serve with tortillas, toast or rice, if you like.