Pat the mahi mahi dry and season with black pepper.
Combine the sugar and 2 tablespoons water in a heavy skillet. Heat over medium, swirling occasionally, without stirring.
Cook 3 to 4 minutes, until the sugar turns deep amber, the color of strong tea. Remove from heat immediately.
Carefully add the fish sauce off the heat, standing back as it bubbles vigorously. Stir to combine.
Return to medium heat. Add the garlic and shallot, cooking 1 minute until fragrant.
Add the mahi mahi, turning to coat. Pour in the 1/2 cup water for the sauce.
Simmer gently 6 to 8 minutes, spooning sauce over the fish, until opaque and flaking easily.
Heat the olive oil in a separate skillet. Add garlic, cook 30 seconds, then add spinach in batches, tossing until wilted, about 2 minutes. Season with salt.
Serve the mahi mahi over the spinach, spooning extra sauce on top and finishing with scallions.