In a large non-stick skillet over medium heat, soften the onions in the oil until they begin to brown. Add the fish and lemon juice. Continue cooking for about 5 minutes or until the fish is cooked and flakes easily. Add the garlic and red pepper flakes. Continue cooking for 1 minute. Season with salt and pepper.
Meanwhile, in a large pot of salted boiling water, cook the spaghetti al dente. Reserve 1 cup (250 ml) of the cooking water. Drain.
In the skillet, add the spaghetti, ½ cup (125 ml) of the cooking water, the cilantro and lemon zest to the fish mixture. Toss gently. Add cooking water or oil if needed. Adjust the seasoning.