Rinse fish and drain well. With a knife, make two incisions across each side of fish.
Season with salt and pepper to taste.
In a wide pan over medium heat, heat about 1 inch deep of oil. Add fish and cook, turning as needed, until lightly browned and cooked through. Remove from pan and drain on paper towels.
In another pan, heat about 1 tablespoon oil. Add onions and garlic and cook until softened.
Add tomatoes and cook, mashing with back of spoon, until softened and release juices.
Add water and bring to a boil.
Add fish and cook for about 3 to 5 minutes or until heated through.
In a slow stream, add eggs to pan. Allow to slightly set and then stir into mixture, breaking into pieces.
Season with salt and pepper to taste. Serve hot.